1.6k 1 分钟

场景:spring mvc 中 jsp 页面向后台传入的数据类型都是 String,这里将 String 转换成 Date 对象 表单页面与显示效果:registerForm.jsp <%@ page contentType="text/html;charset=UTF-8" language="java"...
526 1 分钟

场景:有些实体对象可以放到 HttpSession 对象中,保正在一个会话期间可以随时获取这个对象的属性,例如可以将登录用户的信息写入 session,以保证页面随时可以获取并显示这个用户的状态信息。下面以此为例。 后台将用户这一实体对象写入 session(HttpSession),这里是从拦截器中写入,代码中的 userInfo 是从单点登录服务器获取的登录用户信息 User user = new User(userInfo);session.setAttribute("loginUser", user); 前台使用 c 标签 set 属性值 参考:...
4.5k 4 分钟

# 定义 properties 文件 ① message.properties loginname = Login name: password = Password: submit = Submit welcome = Welcome {0} access demo title = Login Page username = administrator ② message_en_US.properties loginname = Login name: password = Password: submit = Submit welcome =...
508 1 分钟

# JConsole ① 基于 JMX,针对 JMX MBean 进行管理 ② MBean 可以使用代码、中间件服务器的管理控制台或者所有符合 JMX 规范的软件进行访问; ③ 使用:JDK/bin 目录下 “jconsole.exe” 启动,无需 jps 等命令就可以查看很多 vm 信息; # VisualVM:多合一故障处理工具 ① 至今位置随 JDK 发布的功能最强大的运行监视和故障处理工具,“all -in-one”; ② 有点:不需要被监视的程序基于特殊 Agent 运行,所以他对应用程序的实际性能的影响很小,使得可以直接应用在生产环境中。 ③ visualVM 基于...
2.6k 2 分钟

说明:书中作者介绍的的基于 windows 平台下的 JDK1.6 Update 21 可以参考: http://www.cnblogs.com/SilentHYmn/p/5186486.html http://blog.csdn.net/coslay/article/details/48932277 # JDK 命令行工具 # 前言 ① JDK 命令行工具基本位于 bin 目录下,主要功能代码位于 jdk/lib/tools.jar 中,Linux 中有很多直接是 shell 脚本写的; ② 包含功能强大的监控分析功能; ③ JDK1.5 要开启 JMX...
3.6k 3 分钟

# java 自动内存管理: ① 给对象分配内存; ② 回收分配给对象的内存; # 内存分配 ① 在堆上分配(也可能经过 JIT 编译后被拆散为标量类型并间接地在栈上分配); ② 对象主要分配在新生代的 Eden 区上; ③ 若启动了本地线程分配缓冲,将按线程优先在 TLAB 上分配; ④ 少数情况下也可能会直接分配在老年代中; ⑤ 分配细节取决于哪一种垃圾收集器组合以及虚拟机中内存相关配置参数; # 对象优先在 Eden 上分配 ① 大多数情况下,对象在新生代 Eden 空间分配; ② Eden 空间不足,虚拟机发起一次 Minor GC; ③ Minor...
5.3k 5 分钟

# GC 需要完成的三件事情: ① 哪些内存需要回收? ② 什么时候回收? ③ 如何回收? # GC Area 程序计数器、虚拟机栈、本地方法栈三个区域随线程而生,随线程而灭,所以这几个区域不需要过多考虑回收问题,因为线程结束时,内存自然就跟着回收了,而 java 堆和方法去不同; # 为何 GC 在堆里存放几乎 java 中所有对象实例,垃圾收集器对其回收前需要确定这些对象之中哪些还 “存活” 着; # 引用计数算法 - 判断对象是否存活的算法 ① 实现简单,判定效率也很高; ② 使用:微软 COM 技术、使用 ActionScript3 的 FlasPlayer、Python...
432 1 分钟

# 正常情况下,tomcat 遇到 404 或 500 会返回版本信息: # 有时我们不需要暴露版本信息,像这样: # 只需要修改 apache-tomcat-7.0.59 的 lib 目录下的 catalina.jar # 在 linux 环境下 进入 lib 路径后 unzip catalina.jar 编辑 ServerInfo.properties 属性文件 cd org/apache/catalina/util/ vi ServerInfo.properties 修改成以下信息 server.info=Apache...
1.7k 2 分钟

场景:读取 properties 属性文件。 定义属性文件 (在 classpath 下,我直接放在 resources 路径下):server.properties ##server info server.ip=192.168.59.58 server.port=8080 读取 private static String[] getServerInfo(String label){ String[] arr = new String[2]; try { Properties properties =...
624 1 分钟

场景:当我们访问远程服务器,得到返回的 json 数据中封装的实体属性可能有些是不必要的,当我们在自己的项目中可以创建一个 vo 去接收这个实体属性,这个 vo 里属性可能只包含原实体属性的一部分,此时如果不做处理,会抛出数据接收字段缺失的异常,此时需要使用 @JsonIgnoreProperties 忽略部分属性,下面以获取用户数据为例,在我们项目中只需要获取用户实体中的 employeeCode 和 employeePosition...