随笔分类 - JAVA
浅析Java语言慢的原因
摘要:Java在早期(比如JDK1.2以前)是很慢的,后续版本由于有许多优化手段的加入,Java正变得越来越快,所以现在也有很多关于Java和C/C++孰快孰慢的争论。我想就我自己的理解,谈一下影响Java程序运行速度的因素。 1、GC回收 众所周知,Java相对C/C++的一个很大进步就是有了GC机制,
阅读全文
sun.misc.Unsafe的理解
摘要:阅读目录 Unsafe类的作用 获取Unsafe对象 Unsafe类中的API 阅读目录 Unsafe类的作用 获取Unsafe对象 Unsafe类中的API 以下sun.misc.Unsafe源码和demo基于jdk1.7; 最近在看J.U.C里的源码,很多都用到了sun.misc.Unsafe这
阅读全文
java native关键字
摘要:native关键字用法 native是与C++联合开发的时候用的!Java自己开发不用的! 使用native关键字说明这个方法是原生函数,也就是这个方法是用C/C++语言实现的,并且被编译成了DLL,由java去调用。 这些函数的实现体在DLL中,JDK的源代码中并不包含,你应该是看不到的。对于不同
阅读全文
强大的Mockito测试框架
摘要:1自动生成Mock类 在需要Mock的属性上标记@Mock注解,然后@RunWith(MockitoJUnitRunner.class)或者在setUp()方法中显示调用MockitoAnnotations.initMocks(this);生成Mock类即可。 2自动注入Mock类到被测试类 只要在
阅读全文
JUnit + Mockito 单元测试(二)
摘要:JUnit 是单元测试框架。Mockito 与 JUnit 不同,并不是单元测试框架(这方面 JUnit 已经足够好了),它是用于生成模拟对象或者直接点说,就是”假对象“的工具。两者定位不同,所以一般通常的做法就是联合 JUnit + Mockito 来进行测试。 入门 首先是配置 Mock 对象,
阅读全文
java代码中获取classpath路径
摘要:Java web工程中,有时候需要自己手动的去读取classpath下面的配置文件,这里总结一点读取classpath路径的方法,分享一下。 方法一: [html] view plain copy String path = Test.class.getResource("/").toString(
阅读全文
Jackson将json字符串转换成泛型List
摘要:Jackson,我感觉是在Java与Json之间相互转换的最快速的框架,当然Google的Gson也很不错,但是参照网上有人的性能测试,看起来还是Jackson比较快一点 Jackson处理一般的JavaBean和Json之间的转换只要使用ObjectMapper 对象的readValue和writ
阅读全文
Java HashMap的死循环
摘要:在淘宝内网里看到同事发了贴说了一个CPU被100%的线上故障,并且这个事发生了很多次,原因是在Java语言在并发情况下使用HashMap造 成Race Condition,从而导致死循环。这个事情我4、5年前也经历过,本来觉得没什么好写的,因为Java的HashMap是非线程安全的,所以在并发下 必
阅读全文
Java 动态编译
摘要:一、使用 JavaCompiler 接口来编译 java 源程序(最简单的) 使用 Java API 来编译 Java 源程式有非常多方法,目前让我们来看一种最简单的方法,通过 JavaCompiler 进行编译。 我们能通过 ToolProvider 类的静态方法 getSystemJavaCom
阅读全文
有return的情况下try catch finally的执行顺序(最有说服力的总结)
摘要:结论: 1、不管有木有出现异常,finally块中代码都会执行; 2、当try和catch中有return时,finally仍然会执行; 3、finally是在return后面的表达式运算后执行的(此时并没有返回运算后的值,而是先把要返回的值保存起来,管finally中的代码怎么样,返回的值都不会改
阅读全文
Slf4j MDC 使用和 基于 Logback 的实现分析
摘要:前言 如今,在 Java 开发中,日志的打印输出是必不可少的, 关于 有了日志之后,我们就可以追踪各种线上问题。但是,在分布式系统中,各种无关日志穿行其中,导致我们可能无法直接定位整个操作流程。因此,我们可能需要对一个用户的操作流程进行归类标记,比如使用 因此,这就有了 Slf4j MDC 介绍 M
阅读全文
Jackson Streaming API to read and write JSON
摘要:Jackson supports read and write JSON via high-performance Jackson Streaming APIs, or incremental mode. Read this Jackson Streaming APIs document for d
阅读全文
ParameterizedType的作用
摘要:public interface ParameterizedType extends Type subParam.Java [java] view plain copy package com.example.test; public class subParam extends param<myc
阅读全文
Java主线程如何等待子线程执行结束(转)
摘要:工作中往往会遇到异步去执行某段逻辑, 然后先处理其他事情, 处理完后再把那段逻辑的处理结果进行汇总的产景, 这时候就需要使用线程了. 一个线程启动之后, 是异步的去执行需要执行的内容的, 不会影响主线程的流程, 往往需要让主线程指定后, 等待子线程的完成. 这里有几种方式. 站在 主线程的角度, 我
阅读全文
java文件下载
摘要:这个SpringMVC没什么关系吧,我在jsp中做过一个图片的下载,你可能要修改下代码 response.setContentType("application/x-download"); //application.getRealPath("/main/mvplayer/CapSetup.msi"
阅读全文
java多线程总结
摘要:转自: http://www.cnblogs.com/rollenholt/archive/2011/08/28/2156357.html 以前没有写笔记的习惯,现在慢慢的发现及时总结是多么的重要了,呵呵。虽然才大二,但是也快要毕业了,要加油了。 这一篇文章主要关于java多线程,主要还是以例子来驱
阅读全文
Java:对象的强、软、弱和虚引用
摘要:本文介绍对象的强、软、弱和虚引用的概念、应用及其在UML中的表示。 author: ZJ 07-12-1 Blog: [url]http://zhangjunhd.blog.51cto.com/[/url] 1.对象的强、软、弱和虚引用 在JDK 1.2以前的版本中,若一个对象不被任何变量引用,那么
阅读全文
java打成jar包后,class,getResource()出现null指针异常
摘要:1、SqlHelper.java有包路径没?如果有,是不是类似于com.db.jdbc? 不管怎么办,你SqlHelper.class.getResourceAsStream("/mysql.properties");如果你的配置文件不是在包的根路径,这句话里面路径就不可以像你上面那样写。 例如:如
阅读全文
java内部类
摘要:1.静态内部类只能访问外部类的静态成员和方法.2.静态内部类在外部被创建时,不需要外部类的实例,这也就是为什么它不可以访问外部类的非静态成员了,因为它没有外部类对象的引用啊.3.非静态内部类可以访问外部类的所有成员和方法,包括私有变量.但同时在创建内部类对象的时候,需要外部类的实例,同时把这个外部类
阅读全文
synchronized关键字的作用域
摘要:转自:http://www.cnblogs.com/devinzhang/archive/2011/12/14/2287675.html 1、synchronized关键字的作用域有二种: 1)是某个对象实例内,synchronized aMethod(){}可以防止多个线程同时访问这个对象的syn
阅读全文