
Java
文章平均质量分 58
minwenping
这个作者很懒,什么都没留下…
展开
-
Java注解探究,自定义注解封装简易网络请求框架
注解的定义:提供一种为程序设置元数据的方法。基本原则:注解不能干扰程序代码的运行,无论增加或删除注解,代码都能够正常运行。按照使用分类,可以分为系统注解和自定义注解。A:系统注解分为标准注解和元注解 1.标准注解 我们都见过好多,比如下面的: @Override 复写父类方法或者实现接口方法的提示* @Deprecated 方法过时的提示 @SuppressW原创 2017-04-08 13:00:47 · 3762 阅读 · 3 评论 -
Java设计模式之责任链模式
上面是的大致的模型图。 message从第一个链开始判断和处理,如果不能处理就传给下一个链,每一个链用handler表示。所有的链继承自同一个父类,Handler,代码如下://责任链的基类public abstract class Handler { protected Handler nextHandler; void handle(BaseMessage msg) {原创 2017-12-07 21:20:29 · 1029 阅读 · 0 评论 -
JNI之c/c++返回中文给java 乱码问题以及java数组在c排序
c/c++返回中文给java时会乱码,因为java和c/c++的编码格式不一样,java的utf-16,c/c++是utf-8,所以在返回中文字符的时候,包装成gb2312返回。 具体见如下博客链接: jni交互中文乱问题分析public class CodeTest { public native String getChineseFromNative(); public sta原创 2017-12-24 13:39:23 · 934 阅读 · 0 评论 -
JNI之 c/c++调用java构造函数
有时候c/c++是面向过程编码,很多有用工具类都没有,要编码人员自己实现,如果可以调用java大量存在的类岂不是更省事更简洁。 下面是通过调用java的Date类产生是时间戳。public class JniConsTest { //c访问java构造函数,并返回对象 public native Date getCurrentTime(); public static voi原创 2017-12-23 16:15:02 · 3543 阅读 · 0 评论 -
JNI 之c/c++和Java交互,调用java成员
public class JniTest2 { //c访问非静态成员 public String testField="hello..."; //c修改java静态成员 public static int time=78; //c访问java 方法 public native void invokeJavaMethod(); //c修改java原创 2017-12-23 14:15:56 · 802 阅读 · 0 评论 -
Java设计模式之解释器模式
public class Client { public static void main(String[] args) { // TODO Auto-generated method stub String regex="2 * 10 / 5 * 3 "; Calculator calculator=new Calculator();原创 2017-12-14 23:09:30 · 288 阅读 · 0 评论 -
Java设计模式之观察者模式
//demo 演示public static void main(String[] args) { // 新建观察者 ConcreteObserver obsever1=new ConcreteObserver(); // 新建被观察者 ConcreteSubject concreteSubject=new ConcreteSubje原创 2017-12-13 21:33:08 · 217 阅读 · 0 评论 -
Java模板模式之浅拷贝
public class Client { //从调用者代码进入 public static void main(String[] args) { SmallProduct product=new SmallProduct(); product.setProductNumber(330); product.setProductName("原创 2017-12-04 23:12:59 · 242 阅读 · 0 评论 -
Java工厂模式之抽象工厂
抽象工厂模式有很重要的两点,java的多态,和java的面向接口编程。 先看类图之间的关系 1.工厂类的关系如下: 2.产品两个类的类图关系 3.调用者public static void main(String[] args) { //调用者调用 BmwFactory bmwFactory=new BmwFactory(); bmwFacto原创 2017-12-04 20:13:36 · 228 阅读 · 0 评论 -
JNI 之Java和c/c++交互,提升Java变成效率
JNI 主要是java和c++相互调用,java可以把效率低,耗时操作比较严重的逻辑放在c++里面。可以大大提升效率和节省资源。 下面是java调用的windows下的 c++的dll动态库,还有一种是标准c的linux的so动态库。工程结构图如下:第一步:编写Java代码:public class JniTest { public native static String getStr原创 2017-12-20 22:59:34 · 3669 阅读 · 0 评论 -
Java工厂模式之简单工厂模式
首先定义三个类集成基类, 每个子类都重写了父类的实现方法。 //这个在android源码中非常常见,比如图片资源分为好几种 public static void main(String[] args) { //一般情况先new 然后调用,代码量多 Teacher teacher = new Teacher(); teacher.belongMet原创 2017-12-03 15:05:23 · 347 阅读 · 0 评论 -
Java单利模式之饱汉模式浅谈
public class SingleInstance {public SingleInstance() {}//饱汉模式之线程安全和效率讨论/** * 效率低,每次进来都要同步,尽管实例不为空了 * @return */public static synchronized SingleInstance getInstance() { if (instance == null)原创 2017-12-02 21:47:52 · 437 阅读 · 0 评论 -
Java删除数组指定元素,并压缩数组
定义原数组和接收结果的数组 int[] array1 = new int[]{1, 8, 6, 5, 7, 12, 31, 89, 100}; int[] result; printArray(array1); result = resetArray(array1, 31); printArray(result); //下面是具体实现方法 private int[原创 2017-11-02 18:06:17 · 1481 阅读 · 0 评论 -
Java的静态加载和动态加载区别
一、首先是说java的静态加载: 1.创建了几个类,“老师”、“学生”、“职员”,每个人群有个属性方法,代码如下:public class Student { public void belongNature() { System.out.println("student 在读书……"); }}另外的两个类就不列举了,差不多的意思。2.在main中引用,代码如下:原创 2017-04-05 23:28:40 · 7821 阅读 · 1 评论 -
Java /android 依赖注入的简单实现
很多做过安卓的人都会用到最当下最流行的框架dragger2 和ButterKnife,这些依赖注入框架用起来非常方便,并且解耦,现在看看java依赖注入的简单用法,它的底层还是注解和反射,呵呵呵。所以java的反射是多么的重要先看测试类的代码:public class TestInjection { @InjectNameInfo("赵敏+黎姿") static String nam原创 2017-04-08 16:59:16 · 1130 阅读 · 0 评论 -
Java建造者模式原型和链式变种
建造者最开始有4个角色 1.用户client,提出造房子 Room的需求 2.设计者,Designer,出图纸,指挥包工头干,持有包工头 3.包工头, interface Build,拥有步骤和返回房子Room 4.Room,最终的产品 代码从client开始public class Client { //client 客户提出需求,造房子,并得到房子 //不关心过程和建原创 2017-12-05 22:46:58 · 1355 阅读 · 0 评论