
JAVA
文章平均质量分 76
Schele
Stay Hungry,Stay Foolish
展开
-
Spring 4.0.6 + Hibernate 4.3.5.1.Final + JPA2.0 + DBCP2 集成
项目中,采用的是最新版的框架。截至目前,Spring 版本为原创 2014-07-19 22:54:34 · 5000 阅读 · 4 评论 -
Java Lof4J日志
从两段代码开始第一段代码import org.apache.commons.logging.Log;import org.apache.commons.logging.LogFactory;import org.apache.log4j.BasicConfigurator;public class HelloLog4J { private static Log logger = Log原创 2015-07-25 17:50:56 · 1359 阅读 · 1 评论 -
Java 反射概述
反射的使用虚拟机中的应用程序可以通过反射来检查或修改在运行时的行为,这是一种相对高级的功能,开发者应该有很深的语言基础才可以使用它。虽心有言训,但反射亦是一种很有用的技术,它能实现的功能,其他方式只能远观而不可亵玩焉。 可扩展特性应用程序可以通过使用外部类或自定义的类的完全限定名称即完整的类明来创建对象实例。 类浏览器和可视化开发环境类浏览工具可以查看类的所有成员属性,翻译 2015-09-10 16:21:07 · 946 阅读 · 0 评论 -
Java集合工具
诚然,在Java世界中,用的非常广泛的数据结构乃集合也,由Collection及Map衍合而来的多功能结构的集合类和接口,让我们随行随用。然而,工欲善其事,必先利其器,个人的工具箱中,必然应该收藏很多集合工具利器。一、Collectionsjavadoc对其有如下解释 此类包含了许多特有的静态方法,用于操作集合或返回集合实例,同时还提供许多处理集合和包装器的多态实现,用于获取一些拥有特定功能的集原创 2015-10-01 15:13:54 · 1182 阅读 · 0 评论 -
Java集合工具2--Arrays
续上文中,讨论了集合中常用的工具库和工具类。事实上,集合的底层实现已然或为数组或链表,因此还有必要探寻一下Java中的Arrays 类。Arraysjavadoc对其的解释为: 若没有特别注明,传入的特定的数组引用为null时,类中的所有方法皆会抛NullPointerException。 类中的实现方法有一个简要的文档描述,这些描述应该是一种注意事项,而不是一种规范,这些实现可有其他算法原创 2015-10-03 11:45:38 · 495 阅读 · 0 评论 -
Java ThreadPoolExecutor线程池原理及源码分析
一、源码分析(基于JDK1.6)ThreadExecutorPool是使用最多的线程池组件,了解它的原始资料最好是从从设计者(Doug Lea)的口中知道它的来龙去脉。在Jdk1.6中,ThreadPoolExecutor直接继承了AbstractExecutorService,并层级实现了ExecutorService和Executor接口。1.ExecutorExecutor是原创 2016-02-21 17:27:01 · 2865 阅读 · 1 评论 -
走近AbstractQueuedSynchronizer
一、开始Java并发包中的同步器是很多并发组件的基础,如各种Lock,ConcurrentHashMap中的Segment,阻塞队列,CountDownLatch等。按我们一贯的风格,让我们直接走近设计者对其的诠释。在java.util.concurrent.locks包中, AbstractQueuedSynchronizer直接继承自AbstractOwnableSynchroni原创 2016-03-13 00:03:09 · 675 阅读 · 1 评论 -
Java ThreadLocal原理与源码
1. 开始Java中的ThreadLocal类很有意思,它提供了一种线程中的局部变量机制。这种变量与一般的变量不同,一般的变量是在多线程环境中(通过get或set方法)拷贝一份副本,而threadlocal变量是独立的线程内部拷贝。一般,ThreadLocal的实例常常用作private static类型,用于关联一个线程和线程上下文。ThreadLocal内部提供了一个ThreadLoca原创 2016-02-28 22:08:52 · 631 阅读 · 0 评论 -
aqs
Java同步框架(译)前言本文翻译自Doug Lea的论文,编号为NY 13126,旨在为了补充说明AQS的原理与设计实现。如需传播或另作刊摘,请尊重原作者。 文章主要探索AQS的原理与设计决策,因此删减了性能测试等末尾几章节。翻译属于再次加工,很多理解不当或转意有误,还请参见原文。 –Schelor摘要在J2SE 1.5 java.util.concurrent包中的大多数同步组件(锁、内存屏翻译 2016-03-26 18:17:21 · 1190 阅读 · 0 评论 -
Thinking in Spring
Thinking in SpringThinking in Spring写在前面的话Spring是怎么载入XML配置的Spring读取配置文件并设置到占位符中的过程是怎样的Spring的依赖注入过程是怎样的ComponentService这些注解是怎么执行的Spring中的设计模式有哪些怎么运用的Spring是怎么实现开闭原则的写在前面的话该怎么开始呢。Spring从出现到如今已经过原创 2016-05-07 23:04:52 · 2789 阅读 · 0 评论 -
Java IO模型&NIO
Java IO模型&NIOJava IO模型NIO楔子概述网络服务经典的服务设计经典的SocketServer循环阻塞可伸缩目标分而治之事件驱动设计背景知识AWT 事件Reactor 模式Reactor基础模式Java NIO 支持ChannelsBuffersSelectorsSelectionKeysReactor 模式实践第一步初始化第二步循环分发第三原创 2016-06-01 20:49:00 · 6165 阅读 · 0 评论 -
Thinking in Netty
Thinking in NettyBy 谢乐Thinking in Netty写在前面Netty快速开始Netty的架构Netty的线程模型1 服务端线程模型1 客户端线程模型Netty的API设计Netty的通信过程Netty中的设计模式最后1. 写在前面Netty的词根为net, 那么我们就已经猜想到它与网络有关。官方对Netty的解释为: Netty是一种异步的基于原创 2016-06-19 19:41:14 · 2422 阅读 · 0 评论 -
Java TPS实现
写在前面TPS即每秒查询事物,可以用于测试一个方法、工具或者系统的性能。本文采用Java并发包中的工具实现了一个工具TPS性能测试。主要是测试OKHttp库来执行Http请求的性能。测试代码用到了Java了线程池ExecuterService,CountDownLatch, CyclicBarrier, 原子类,volatile关键词等。可算是对Java并发组件的组合使用。下面直接贴出源码,仅供参考原创 2016-07-09 18:19:40 · 8937 阅读 · 0 评论 -
FastJson-JSONField
学习摘要自 https://github.com/alibaba/fastjson http://blog.youkuaiyun.com/zimo2013/article/details/10474107Maven依赖 仓库地址 http://repo1.maven.org/maven2/com/alibaba/fastjson/ 选择版本、建议使用最新版本<dependency> <grou原创 2015-07-21 22:54:40 · 7529 阅读 · 0 评论 -
Eclilpse Plugin for Velocity on Luna
项目中需要用到Velocity,而且使用的是Eclipse Luna, 该IDE自带的vm编辑器让人很难忍受,于是急需安装velocity的插件。但是,试过很多办法后,都不成功。Fortunately,i made it.1. access eclipse market: http://marketplace.eclipse.org/, and search with the ke原创 2015-06-11 21:58:56 · 737 阅读 · 0 评论 -
Java Int unpacking(分解)packing
在ImportNew上看到一个很有意思的代码片,功能大意为把int拆开,看看其由哪些字节组成(unpacking),以及把四个字节组合成一个int(packing )。首先脑补一下两个概念排列表示一个对象的字节有两个通用的规则。一个w位的整数,位表示为[Xw-1, Xw-2,...X1,X0], 其中,Xw-1为最高有效位,X0为最低有效位。某些机器选择在存储器中,按照从最低有效字节到原创 2015-04-07 22:56:51 · 1007 阅读 · 0 评论 -
Java Web项目包目录结构分享
保存草稿原创 2014-07-18 21:02:42 · 11389 阅读 · 3 评论 -
SpringMVC 4 配置返回JSP,和Freemarker视图
1.新建Dynamic Web Project。2. 配置web.xml原创 2014-07-24 09:24:19 · 6559 阅读 · 2 评论 -
Java 中文排序方式的尝试
一、通过实现Comparb原创 2014-08-20 23:32:22 · 925 阅读 · 0 评论 -
通过读取Properties文件,Java动态实例化和 调用set方法于实体
其实,主要是做一点记录!原创 2014-09-21 20:07:33 · 921 阅读 · 0 评论 -
Java 汉字转换为中文拼音的研究一:读取.db文件
最近好奇,中文汉字怎么转换为中文拼音,z原创 2014-08-12 23:29:54 · 1036 阅读 · 0 评论 -
一些Java编程题
本文为学习实践的记录,来源于:http://thecodesample.compackage interview;/* * 本文给出一个实例,使用递归算法反转字符串 */public class StringReversalWithRecursion { public static void main(String[] args) { StringReversalWi原创 2015-01-26 19:09:03 · 574 阅读 · 0 评论 -
Java8 探索--Lambda
Lambda 探索package lambda;/* * 下面是一个lambda表达式的重要特征。可选类型声明 - 无需声明参数的类型。编译器可以从该参数的值推断。可选圆括号参数 - 无需在括号中声明参数。对于多个参数,括号是必需的。可选大括号 - 表达式主体没有必要使用大括号,如果主体中含有一个单独的语句。可选return关键字 - 编译器会自动返回值,如果主体有一原创 2014-12-19 18:40:08 · 510 阅读 · 0 评论 -
Effective Java记录1:考虑用静态工厂方法代替构造器
静态工厂方法与构造器不同之处在于1.它们有名称2.不必在每次调用时,创建新对象3.多态性,可以返回原类型,或者其子类型代码说明 // 服务接口 public interface Service { // 特定方法 } // 服务提供者 public interface Provider { Service newService(); }原创 2014-12-30 18:29:58 · 618 阅读 · 0 评论 -
Effective Java记录2:遇到多个构造器考虑用构建器(Builder)
实例化对象时,构造器的自变量有时候会不定,即有有多个可选参数时,可重载构造器,但是有时候在问题模型中,某种类型的构造器是后期出现的,随着情况的不同,可能会添加多个构造器,这时候,代码很难维护。同时,客户端调用时,不便于阅读和使用(重载太多) 替代方案一:JavaBean模式调用无参数构造函数,然后通过setter方法设置必要的参数。但是可能的缺点:由可能存在的JavaBean状态不原创 2014-12-30 20:53:09 · 679 阅读 · 0 评论 -
Java 对象Clone
一个普通的Java类,继承了Object对象,便继承了该对象的Clone方法protected native Object clone() throws CloneNotSupportedException;但是Java基础类或String类却不支持这样的操作Integer x = new Integer(10);x.clone(); //编译报错String s = "abc"原创 2014-12-31 15:22:59 · 685 阅读 · 0 评论 -
设计模式随笔一
六个原则(Solid)Single Responsibility Principle:单一职责原则--接口职责单一,类的设计尽量只有一个原因引起变化。Open Closed Principle:开闭原则--一个软件实体如类(抽象)、模块、方法应该对扩展开放,对修改关闭。Liskov Substitution Principle:里氏替换原则--父类能出现的地方,子类就可以替换父类。原创 2015-01-05 18:33:53 · 567 阅读 · 0 评论 -
Java中的一般继承和抽象继承的区别
曾经在一次面试中,在介绍一个通用设计时说,接口负责定义public属性和方法,并且声明与其他对象的依赖关系,抽象类负责公共构造部分或方法的实现,实现类准确的实现业务逻辑,同时在适当的时候对父类进行细化。面试老师突然问,如果采用一般类也可以实现公共的方法,也可以继承从而被覆写,为什么要选择抽象继承而不使用一般继承?当时我竟无语凝噎。抽象类其实提供一种模板,提供子类可参照,也可拿来主义。在现实原创 2015-01-05 12:29:43 · 8332 阅读 · 0 评论 -
Log4j2写日志的艺术
Log4j2中的组件从配置开始API基本使用小细节写日志的原理主要流程同步写异步写顺便说一下ArrayBlockingQueuenotFull 与 notEmpty异步写是怎么玩的巧妙的异步写设计ByteBuffer与RandomAccessFileGarbage-free避免创建多余对象异步Logger性能写在最后 在程序的世界里,抽象让人像是雾里看花。抽象让程原创 2017-06-26 21:01:53 · 5339 阅读 · 1 评论