随笔分类 - J2EE
摘要:SimpleDateFormat sf = new SimpleDateFormat("yyyy-MM-dd"); Calendar c = Calendar.getInstance(); System.out.println("当前日期:"+sf.format(c.getTime())); c.a
阅读全文
摘要:问题描述: 发现有sql查询全表数据,慢查询语句,根据druid上的sql监控查看到。 主要根据标红的列确定问题sql。 点击进去可以看到详细sql信息。 问题排查目标: 发现这个语句高层调用方特别多,目标是排查出上层(controller)哪个方法没有判断好条件,无条件传参到底层进行的全表查询。
阅读全文
摘要:前言 谈到java的线程池最熟悉的莫过于 ExecutorService接口了,jdk1.5新增的java.util.concurrent包下的这个api,大大的简化了多线程代码的开发。而不论你用FixedThreadPool还是CachedThreadPool其背后实现都是ThreadPoolEx
阅读全文
摘要:@JsonIgnoreProperties 此注解是类注解,作用是json序列化时将Java bean中的一些属性忽略掉,序列化和反序列化都受影响。 写法将此标签加在model 类的类名上 ,可以多个属性也可以单个属性 //生成json时将name和age属性过滤 @JsonIgnoreProper
阅读全文
摘要:POM文件配置 <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apac
阅读全文
摘要:介绍 jstack是java虚拟机自带的一种堆栈跟踪工具。jstack用于打印出给定的java进程ID或core file或远程调试服务的Java堆栈信息,如果是在64位机器上,需要指定选项"-J-d64",Windows的jstack使用方式只支持以下的这种方式: jstack [-l] pid
阅读全文
摘要:简介 Arthas(阿尔萨斯) 能为你做什么 Arthas 是Alibaba开源的Java诊断工具,深受开发者喜爱。 当你遇到以下类似问题而束手无策时,Arthas可以帮助你解决: 这个类从哪个 jar 包加载的?为什么会报各种类相关的 Exception? 我改的代码为什么没有执行到?难道是我没
阅读全文
摘要:内存溢出的三种类型: 第一种OutOfMemoryError: PermGen space,发生这种问题的原意是程序中使用了大量的jar或class 第二种OutOfMemoryError: Java heap space,发生这种问题的原因是java虚拟机创建的对象太多 第三种OutOfMemor
阅读全文
摘要:概要:考虑到上一篇中的request和response对象的安全性,不允许servlt程序员在service方法中把servletRequest和servletResponse对象进行强转request和response对象,而访问到request和response对象中私有的方法,这里引入外观类:
阅读全文
摘要:概要:这里对上一篇中的访问资源进行改进,将访问servlet和静态资源进行区分。 主要不同的地方是加入了两种分析器 servlet分析器 if (request.getUri().startsWith("/servlet/")) { ServletProcessor1 processor = new
阅读全文
摘要:在主线程中进行等待客户端请求: public static void main(String[] args) { HttpServer1 server = new HttpServer1(); server.await(); } public void await() { ServerSocket
阅读全文
摘要:应该用==,因为equels会先比较类型,这样值一样的不同类型的数字就直接返回false啦。看源码吧。 public boolean equals(Object obj) { System.out.println(obj.getClass()); if(obj instanceof Long) {
阅读全文
摘要:Spring 容器中的 Bean 是有生命周期的,Spring 允许 Bean 在初始化完成后以及销毁前执行特定的操作。下面是常用的三种指定特定操作的方法: 通过实现InitializingBean/DisposableBean 接口来定制初始化之后/销毁之前的操作方法; 通过 元素的 init-m
阅读全文
摘要:数据存储方式 众所周知,java中的数据都是以二进制的形式存储在计算机中的,但是我们看到的数据怎么是10进制的,因为java提供了很多进制自动转换的方式。 位移 向左位移是*2的幂次,一般都是正数操作,右侧补0,所以不存在有符号左位移 向右位移会存在负数,所以存在有符号和无符号右移的问题,左侧补0.
阅读全文
摘要:打开 IDEA ,选择 File - Settings - Plugins - Browse repositories 打开 IDEA,选择 File - Settings - Plugins - Browse repositories 后,输入 alibaba 选中 Alibaba Java Co
阅读全文
摘要:创建父工程 mvn archetype:generate -DarchetypeCatalog=internal -DgroupId=com.alan.springmvc -DartifactId=alan-springmvc 中间出现选择什么的,直接回车即可。 创建完成后修改pom.xml中pac
阅读全文
摘要:前言 项目中更需要使用到webservice,具体的是使用jersey。那么首先需要了解jersey和webservice的关系,捋顺webservice框架的各种实现,通过查阅相关博客,我个人总结webservice的结构图如下: 通过上图,大概可以了解到webservice和jersey的关系了
阅读全文
摘要:前言 JDK本身提供了很多方便的JVM性能调优监控工具,除了集成式的VisualVM和jConsole外,还有jps、jstack、jmap、jhat、jstat等小巧的工具,本博客希望能起抛砖引玉之用,让大家能开始对JVM性能调优的常用工具有所了解。 现实企业级Java开发中,有时候我们会碰到下面
阅读全文
摘要:前言 人们对于任何事物的认知,往往都存在这么一个现象:只有你了解的东西,你才会感兴趣。 HashMap之于Java开发者来说,也是如此。相信多数人在起初相当长的时间内,对HashMap的印象都是“Map接口的实现类,是基于哈希的,用于存放键-值对,允许null作为键和值,非线程安全的”,仅此而已。
阅读全文