|
|
about java
摘要:private static boolean arrEquals(byte[] a1, byte[] a2) { if (a1 == a2) return true; if (a1 == null || a2 == null) ...
阅读全文
摘要:基于内存映射的千万级数据处理框架 在计算机的世界里,将大问题切分为多个小问题予以解决是非常优秀的思想。 许多优秀的数据存储框架都采用分布式架构解决海量数据的存储问题,在典型的数据库中间件架构中, 往往抽象出逻辑的数据表概念,一个逻辑表对应多个物理表,写入的数据会根据规则路由到指定的物理表,...
阅读全文
摘要:笔者在最近的项目中需要用JNI,调用C/C++编好的程序,由于此前对JNI不熟悉,在网上找了好多都是基于VC或者VS2008系列实现的,这样为了实现一个简单的调用,需要装几百兆的VC或者几个G的VS很麻烦,由于此前我一直用的dev C++做C的开发(这个DEV很小巧,功能很强大,只是自动补全不友好)...
阅读全文
摘要:LesenRPC目录1 简介2 架构3 使用指南4 发展方向1简介 LesenRPC是一款基于netty和protobuffer的高性能RPC框架。LesenRPC 采用四层架构:传输层 协议层 编解码层 应用层, 传输层:基于netty,充分利用netty提供异步的、事件驱动的功能,保证服务端的高并发 高性能. 协议层:基于protobufer,保证多语言无缝调用. 编解码层:参考spring架构,采用工厂模式和观察者模式,对开发者既能透明化调用,也可以轻松的扩展,介入系统的任何流程. 应用层:业务代码,客户端只需业务接口即可实现透明调用2 架构3使用指南 一 从这里获取源码:http://
阅读全文
摘要:我们都知道java虚拟机具有强大的垃圾回收功能,使得我们能放心的使用对象而不用担心内存泄露(当然这不是绝对的), 虽然了解垃圾回收机制并不会提升我们编写java代码的能力,但不可否认,一个java程序员要从码农进阶到高级程序员或是架构 师,了解虚拟机的垃圾回收机制是很有必要的,更重要的是了解回收机制将有利于我们定位和分析问题。1 GC(garbage collection)的起源 GC来自比较古老的语言Lisp(List Processer).java是基于C++开发的,sun在开发java时为了避免C++的内存管理的复杂性, 引入了GC这门技术,实现对象的...
阅读全文
摘要:Sending Email in Android using JavaMail API without using the default/built-in appMailSenderActivity.javaimport android.app.Activity;import android.os.Bundle;import android.util.Log;import android.view.View;import android.widget.Button;public class MailSenderActivity extends Activity { /** Called...
阅读全文
摘要://客户端:package com.service.client;import java.lang.reflect.InvocationHandler;import java.lang.reflect.Method;import java.lang.reflect.Proxy;import java.net.MalformedURLException;import java.rmi.Naming;import java.rmi.NotBoundException;import java.rmi.Remote;import java.rmi.RemoteException;import java
阅读全文
摘要:1 1 定义一个任务类,就是一个普通java类,并添加bean配置 2 package com.czp.spr.quartz; 3 4 public class MyTask { 5 6 /** 7 * 这个是Quartz框架要调动的方法 8 * quartz通过反射调用 9 * 名称不限只要为public即可10 * 11 */12 public void execute()13 {14 ...
阅读全文
摘要:关于cronExpression表达式,这里讲解一下:字段允许值允许的特殊字符秒0-59,-*/分0-59,-*/小时0-23,-*/日期1-31,-*?/LWC月份1-12或者JAN-DEC,-*/星期1-7或者SUN-SAT,-*?/LC#年(可选)留空,1970-2099,-*/表达式意义"0012**?"每天中午12点触发"01510?**"每天上午10:15触发"01510**?"每天上午10:15触发"01510**?*"每天上午10:15触发"01510**?2005"2005年的
阅读全文
摘要:Singleton容器 我们的代码中大量充斥着单例的实现,单例有他的优点,也有他的缺点, 优点: 1 对象只用创建一次,既能减少创建对象的开销也能减少GC的开销,尤其是各种需要解析XML的view中,使用单例能得到性能提升。 2 单例里的数据方便存取 缺点: 1 单例不能被回收,如果里面有List或map,系统注销时一定要clear 2 单例的属性存取需要同步,才能保证多线程下安全访问。 在我们的系统中充斥着大量的单例实现,如下:1 基于饿汉模式的(类加载时就创建对象):public class CounterManager {private static CounterM...
阅读全文
摘要:深入学习Spring-框架速览Spring是一个一站式的J2EE开发框架,提供了J2EE开发的所有功能 ,Spring的设计的初衷就是解决现有框架的高侵入式式问题,用Spring开发时,很多功能不需要依赖spring的接口和实现,与框架的耦合度大大降低。Spring主要包括以下几个模块: 1 Spring Core:该模块是经典的IOC思想的实现,是spring最基础的框架,主要是通过BeanFactory和java的反射来实现,factory bean对象的创建是通过工厂模式实现的,解除了单列对代码的依赖,而对象间的关系主要是通过java bean的setter来注入的,实现了依赖关系的..
阅读全文
摘要:java的内存模型0 内存模型主要处理了原子性、可见性、有序性问题1 java内存分为main memory和working memory2 非局部变量的使用全是从mian memory加载到working memory中3 java中存在指令重排序现象典型的可能重排序的现象代码如下: 线程A config = new HashMap(); file = loadConfigFile(file,config); isInit = true; 这段代码中的 isInit可能被重排序在loadConfig前执行,这样假如有如下代码: 线程B while(...
阅读全文
摘要:1 package com.czp; 2 3 /** 4 * 5 * java内部类 6 * @author CaoZP 7 * 8 */ 9 public class OuterClass {10 11 /**12 * 13 * 实例内部类14 *15 */16 public class PublicInnerClass{17 18 void test()19 {20 System.out.println(getClass());21 ...
阅读全文
摘要:如题: 有某链表如下:1 public class LinkNode {2 3 private int value;4 5 private LinkNode nextNode;6 }请用递归求链表值最大的节点,实现如下: 1 package com; 2 3 /** 4 * 递归获取单链表值最大的节点 5 * 6 * @author CaoZP 7 * 8 */ 9 public class LinkNode { 10 11 private int value; 12 13 private LinkNode nextNode...
阅读全文
摘要:笔者在对map的遍历方法分别对1000/1万/10万条数据的map进行测试时发现方案2比方案1时间上更短:。。。。Map<String,String[]> data = new HashMap<String, String[]>();for (int i = 0; i < 100000; i++){data.put("性能(P)"+i, new String[]{"结果查询","测量管理","阀值管理","自定义指标管理","常用选项",&quo
阅读全文
摘要:1 <div class="dp-highlighter bg_java"><div class="bar"><div class="tools"><b>[java]</b> <a href="#" class="ViewSource" title="view plain" onclick="dp.sh.Toolbar.Command('ViewSource',this);return
阅读全文
摘要:笔者在最近的项目中需要用JNI,调用C/C++编好的程序,由于此前对JNI不熟悉,在网上找了好多都是基于VC或者VS2008系列实现的,这样为了实现一个简单的调用,需要装几百兆的VC或者几个G的VS很麻烦,由于此前我一直用的dev C++做C的开发(这个DEV很小巧,功能很强大,只是自动补全不友好),于是决定就采用DEV实现JNI的本地文件的编译:步骤如下:1.0 编写java类public class My{ public native String hello(String arg); static{ System.loadLibrary("My");} public
阅读全文
摘要:1 什么是clone?1.1广义的clone广义的克隆可以理解为复制、拷贝和翻倍,就是从原型中产生出同样的复制品,它的外表及遗传基因与原型完全相同。在程序设计中clone的定义是这样的:指对一个对象制造一个精确的复本。实际上在OOP的编程中,clone()方法来自著名的设计模式——原型模式(Prototype),该模式常用于创建复杂的或者耗时的实例,因为这些对象的内存的分配和成员变量的初始化较为耗时,而复制一个已经存在的实例使程序运行更高效。1.2 java中的clone相比C++,java是一种更纯洁的OOP语言,因此在java中,我们能更容易的使用各种模式设计出健壮、易于扩展的程序。JDK
阅读全文
摘要:package com.czp.util;import java.lang.reflect.InvocationHandler;import java.lang.reflect.Method;import java.lang.reflect.Proxy;/** * 代理生成工厂,要求其子类实现before(...),after(...),onException(...) 实现处理业务 * * @author caozhongping * */public abstract class ProxyFacty<T> implements InvocationHandler { priv
阅读全文
摘要:1 package com.czp; 2 3 4 public class MathUtil { 5 6 public static void main(String[] args){ 7 double d = 123.5465893; 8 System.out.println(getRealVaule(d, 0)); 9 //=>12410 System.out.println(getRealVaule(d, 3));11 //=>123.54712 13 }14 /**15 ...
阅读全文
|