java SE
夜飛雪
这个作者很懒,什么都没留下…
展开
-
MD5加密
package demo1; import java.security.MessageDigest; public class Md5 { public final static String md5(String plainText) { // 返回字符串 String md5Str = null; try { // 操作字符串 StringBuffer buf原创 2016-10-26 19:00:14 · 162 阅读 · 0 评论 -
java对象和xml之间转换--Jaxb
一.Jaxb处理java对象和xml之间转换常用的annotation有: @XmlType@XmlElement@XmlRootElement@XmlAttribute@XmlAccessorType@XmlAccessorOrder@XmlTransient@XmlJavaTypeAdapter 二.常用annotation使用说明 @XmlType转载 2016-10-26 16:57:42 · 244 阅读 · 0 评论 -
dom4j 解析、生产xml文件
SAXReader reader = new SAXReader(); Document doc = reader.read(...); List childNodes = doc.selectNodes("//Config/Child/ChildNode"); for(Object obj:childNodes) { Node转载 2016-10-26 17:08:51 · 197 阅读 · 0 评论 -
json jackson解析json方法
package com.bbs.utils.json; import java.io.IOException; import java.util.ArrayList; import java.util.HashMap; import java.util.Iterator; import java.util.LinkedHashMap; import java.util.List原创 2016-10-26 16:55:48 · 256 阅读 · 0 评论 -
MANIFEST.MF 文件内容完全详解
MANIFEST.MF 文件内容完全详解 2013-04-20 22:39 8888人阅读 评论(0) 收藏 举报 分类: Java(71) 打开Java的JAR文件我们经常可以看到文件中包含着一个META-INF目录, 这个目录下会有一些文件,其中必有一个MANIFEST.MF,这个文件描述了该Jar文件的很多信息,下面将详细介绍MANIFEST.转载 2016-10-26 16:40:48 · 598 阅读 · 0 评论 -
Executors线程池
系统启动一个新线程的成本是比较高的,因为它涉及与操作系统交互。在这种情形下,使用线程池可以很好地提高性能,尤其是当程序中需要创建大量生存周期很短的线程时,更应该考虑使用线程池。 使用线程池可以有效地控制系统中并发线程的数量,当系统中包含大量并发线程时,会导致系统性能剧烈下降,甚至导致JVM崩溃,而线程池的最大线程数参数可以控制系统中并发线程数不超过此数。 从JAVA转载 2016-10-26 16:40:23 · 196 阅读 · 0 评论 -
AtomicInteger(相当于++)
这个类真的非常实用,更重要的是 它确实非常简单: 附上自己的代码,可以自己试试: AtomicInteger,一个提供原子操作的Integer的类。在Java语言中,++i和i++操作并不是线程安全的,在使用的时候,不可避免的会用到synchronized关键字。而AtomicInteger则通过一种线程安全的加减操作接口。 package com转载 2016-10-26 16:39:58 · 622 阅读 · 0 评论 -
BlockingQueue 阻塞队列
前言: 在新增的Concurrent包中,BlockingQueue很好的解决了多线程中,如何高效安全“传输”数据的问题。通过这些高效并且线程安全的队列类,为我们快速搭建高质量的多线程程序带来极大的便利。本文详细介绍了BlockingQueue家庭中的所有成员,包括他们各自的功能以及常见使用场景。 认识BlockingQueue 阻塞队列,顾名思义,首先它是一个队列,而一个转载 2016-10-26 16:39:24 · 167 阅读 · 0 评论 -
ReentrantLock 线程锁
多线程和并发性并不是什么新内容,但是 Java 语言设计中的创新之一就是,它是第一个直接把跨平台线程模型和正规的内存模型集成到语言中的主流语言。核心类库包含一个 Thread 类,可以用它来构建、启动和操纵线程,Java 语言包括了跨线程传达并发性约束的构造 —— synchronized 和 volatile 。在简化与平台无关的并发类的开发的同时,它决没有使并发类的编写工作变得更繁琐,只是转载 2016-10-26 16:37:31 · 230 阅读 · 0 评论 -
CopyOnWriteArrayList
除了加锁外,其实还有一种方式可以防止并发修改异常,这就是将读写分离技术(不是数据库上的)。 先回顾一下一个常识: 1、JAVA中“=”操作只是将引用和某个对象关联,假如同时有一个线程将引用指向另外一个对象,一个线程获取这个引用指向的对象,那么他们之间不会发生ConcurrentModificationException,他们是在虚拟机层面阻塞的,而且速度非常快,几乎不需要CPU时间。转载 2016-10-26 16:36:43 · 137 阅读 · 0 评论 -
java volatile 关键字
java中volatile关键字的含义 在java线程并发处理中,有一个关键字volatile的使用目前存在很大的混淆,以为使用这个关键字,在进行多线程并发处理的时候就可以万事大吉。 Java语言是支持多线程的,为了解决线程并发的问题,在语言内部引入了 同步块 和 volatile 关键字机制。 synchronized 同步块大家都比较熟悉,通过 synchronized 关转载 2016-10-26 16:36:18 · 152 阅读 · 0 评论 -
HashMap 原理
参考文献 引用文献:深入Java集合学习系列:HashMap的实现原理,大部分参考这篇博客,只对其中进行稍微修改 自己曾经写过的:Hashmap实现原理 1. HashMap概述: HashMap是基于哈希表的Map接口的非同步实现(Hashtable跟HashMap很像,唯一的区别是Hashtalbe中的方法是线程安全的,也就是同步的)。此实现提供所有可选的映射操作,转载 2016-10-26 16:35:00 · 148 阅读 · 0 评论 -
类装载器学习
0.参考文献 类加载器 类装载器学习笔记 JAVA的类装载器(ClassLoader) Java 类加载器 深入探讨 Java 类加载器 Java类加载器浅析 java类加载器体系结构(含hotswap原理) Java类加载器浅析 委托模式 http://www.4ucode.com/Study/Topic/540714转载 2016-10-26 16:32:30 · 200 阅读 · 0 评论 -
反射获取泛型
package test; import java.lang.reflect.ParameterizedType; import java.lang.reflect.Type; import org.junit.Test; import junit.framework.TestCase; class TClass { }原创 2016-10-26 16:24:50 · 164 阅读 · 0 评论 -
Java反射与内省(Introspector)
一、java反射机制 JAVA反射机制是在运行状态中,对于任意一个类,都能够得到这个类的所有属性和方法;对于任意一个对象,都能够调用它的任意一个方法;这种动态获取的信息以及动态调用对象的方法的功能称为java语言的反射机制。 用一句比较白的话来概括,反射就是让你可以通过名称来得到对象 ( 类,属性,方法 ) 的技术。例如我们可以通过类名来生成一个类的实例;知道了方法名,就可以调转载 2016-10-26 16:23:59 · 215 阅读 · 0 评论 -
类与类之间的关系
类与类之间存在以下关系: 1、 泛化(Generalization) 很简单,就是我们常说的继承。是说子类获得父类的功能的同时,还可以扩展自己的功能。 如图: Java代码中表现为:extends 和 implements 2、 依赖(Dependency) 两个相对独立的咚咚(A和B),当A负责构造B时,A与B形成依赖关系,即A使用B。 Java代码中的原创 2016-10-26 16:23:01 · 314 阅读 · 0 评论 -
java对象和xml之间转换--Jaxb--1
localhost 8989 0/1 * * * * ? 500 0.0 23FC0020.PV 23FC0020.SP 23FC0020.OP 23FC0020.ILOCK 23FC0020.T1 23FC0020.K 42FC0040.PV原创 2016-10-26 19:03:08 · 189 阅读 · 0 评论