话不多数上代码: java::: /* * To change this license header, choose License Headers in Project Properties. * To change this template file, choose Tools | Templates * and open the template in the editor. */ package com.totcms.api.util; import javax.crypto.Cip…
本文着重讲述三种代理模式在java代码中如何写出,为保证文章的针对性,暂且不讨论底层实现原理,具体的原理将在下一篇博文中讲述. 代理模式是什么 代理模式是一种设计模式,简单说即是在不改变源码的情况下,实现对目标对象的功能扩展. 比如有个歌手对象叫Singer,这个对象有一个唱歌方法叫sing(). public class Singer{ public void sing(){ System.out.println("唱一首歌"); } } 假如你希望,通过你的某种方式生产出来的歌手对…
许多小伙伴对于java中的三种初始化块的执行顺序一直感到头疼,接下来我们就来分析一下这三种初始化块到底是怎么运行的.有些公司也会将这个问题作为笔试题目. 下面通过一段代码来看看创建对象时这么初始化块是如何运行的 package com.hxy; public class CodeBlock{ public static void main(String[] args) { new HelloB(); // new HelloB(); } } class HelloA{ //无参构造器 publi…
三种日期工具 配合下面的案例可以更加深度的了解 Date 需要导包java.util.Date Date d = new Date(); //两种都是获取到现在时间的时间戳 long t1 = d.getTime();//这里返回的是long类型的时间戳 long t2 = System.currentTimeMillis();//同样返回的是long类型的时间戳 Date d3 =new Date(t2);//将long类型转成Date Calendar 需要导包java.util.Calen…
package get_class_method; public class ReflectDemo { /** * @param args */ public static void main(String[] args) { getClassObject1(); getClassObject2(); getClassObject3(); } public static void getClassObject1(){ Person p = new Person(); System.out.pr…
▷//第一种求法,使用while结构 /** * @author 9527 * @since 19/6/20 */ public class Gaosi { public static void main(String[] args) { //设置一个数值为0的变量,这个变量用来储存1到100的累加之和 int sum = 0; //设置一个自增变量,从1开始 int i = 1; //当这个自增变量≤100的时候,进行累加 while(i<= 100){ //在储存数值的变量里面循环储存i的值…