- 博客(26)
- 收藏
- 关注
原创 File类
package com.wjx.sayHello;import java.io.File;import java.io.IOException;import java.text.SimpleDateFormat;import java.util.Date;class myMathOfRound{ public static double round(double num,int sc
2017-11-07 10:31:05 221 1
原创 正则
1.基本正则标记package com.wjx.sayHello;public class RegexTestDemo { public static void main(String[] args) { /* 1.描述单个字符 * x:表示单个字符x * \\:匹配“\” * \t :描述制表符 * \n:表示换行 * */ System.
2017-10-31 11:12:12 309
原创 定时器
package com.wjx.sayHello;import java.text.SimpleDateFormat;import java.util.Date;import java.util.Timer;import java.util.TimerTask;class myTask extends TimerTask{ @Override public void run()
2017-10-26 14:42:14 195
原创 Date类
import java.util.Date;public class TestDemo { public static void main(String[] args){ long date =System.currentTimeMillis(); //long 和date的转换 System.out.println(new Date(date)); System.out.
2017-09-26 14:52:34 209
原创 Runtime类
Runtime类是运行时候的描述类,在,每一个JVM进程之中都会有一个Runtime类的对象。查看 API该类无构造方法,查询源码,得知此类构造方法被私有化,属于单例设计模式,原因是因为该类只能有一个实例化对象。那么在内部就会提供取得类对象的方法:public static Runtime getRuntime()package com.wjx.sayHello;public class
2017-09-22 08:33:30 258
原创 StringBuffer类
String 最大的特点是任何字符串都是String对象,而且String常量一旦声明不可修改,如果改变对象的内容,实际改变的是对象引用的指向而已。为了方便字符串的修改,提供了StringBuffer类,string中的字符串连接+号在StringBuffer中要用append()方法:public StringBuffer append(数据类型 b)。可以可以修改就是二者最大的区别观察代码
2017-09-21 13:42:12 198
原创 线程池
所谓线程池就是多个线程封装在一起操作,线程池对任务进行操作的时候,有几种运行操作型式,单线程,无限多,限定长度,对线程池操作的核心就类和方法定义在java.util.concurrent包中,其中有两个比较核心 的接口:1.普通的执行线程池定义:Interface ExecutorService2.调度线程池:java.util.concurrent.ScheduledExecutorSe
2017-09-21 11:29:15 155
原创 生产者消费者问题
package com.wjx.sayHello;/* * 生产者和消费者问题 * 1.首先如果是异步处理,即不加synchronized会出现数据不安全处理,出现null值奇数偶数出现错误 * 2.同步处理之后,可能会出现数据重复的问题 * 3.接着就需要对数据进行设置等待wait()和唤醒notify()操作,当数据生成时候不予许取走,当消费没结束不允许生产 */class Pr
2017-09-21 11:27:25 237
原创 Java多线程
首先 理解进程的概念,在操作系统中一个程序的 执行周期就称为一个进程。在最初的DOS操作系统由于其本身只是一个单进程的系统,所以在同一时间段只能执行一个程序,而后来windows可以执行多进程,这样一块资源在同一时间段会有多个进程交替执行,但是在同一个时间点只会有一个时间点去执行。而线程是在进程上面的进一步划分,线程是比进程更小的单位。Java本身是一个多线程的语言,多线程引用体现在哪里呢?
2017-09-15 08:49:35 231
原创 内建函数式接口
Lambda语法简化为方法引用,Lambda的核心在于函数式接口,而函数式接口的核心在于只有一个方法,在函数式接口中只需要四个接口,就是方法无参无返回值,方法无参有返回值,方法有参无返回值,方法有参有返回值1.消费型接口(有参数无返回值)public interface Consumer{public void accept(T t);}package com.wjx.sa
2017-09-14 16:00:47 263
原创 方法引用
从最初开始,引用基本针对引用类型完成的,也就是数组,类,接口,现在追加方法引用,引用本质就是别名,方法引用有四种方式:1.引用静态方法:类名称 ::static 方法名称2.引用某个对象的方法:实例化对象::普通方法3.引用某个特定类的方法:类名称::普通方法4 .引用构造方法:类名称::new;1 引用静态方法package com.wjx.sayHello;inte
2017-09-14 13:23:58 521
原创 Lambda表达式
JDK1.8推出的新特性,函数式编程。前提接口只有一个方法,可以使用注解@FunctionalInterface来控制结构: (参数)->单行语句; (参数)->{多行语句}; 如果表达式里面只有 一行返回数据,直接使用,可以不写 return ;详细参考以下代码:匿名内部类参考:package com.wjx.sayHello;interface IMessag
2017-09-14 12:53:47 172
原创 接口定义加强
接口定义了一些方法,当已经有数万个子类去实现了这个接口,现在需要给这数万个子类实现一个公共的方法,jdk1.8之后可以在接口内实现以下两种方式实现接口内部方法声明以及具体功能实现1 .使用defalut定义普通方法,使用对象调用2.使用static定义方法,使用对象调用package com.wjx.sayHello;interface IMessage{ //使用default在
2017-09-14 10:52:10 232
原创 Annotation(注解)
1.准确覆写@Override如果准确控制覆写要求,使用@Override,如果覆写不正确,则它提示错误package com.wjx.sayHello;class Persons{ @Override //The method tostring() of type Persons must override or implement a supertype method //如果写
2017-09-14 09:35:43 188
原创 枚举
基本概念,多例和枚举枚举从本质上讲,是多例的一种设计,观察如下代码,多例设计的结果和枚举返回结果是一样的package com.wjx.sayHello;//class Color{// private String title;// private static final Color RED=new Color("RED");// private static final C
2017-09-09 16:54:20 193
原创 泛型
jdk1.5之后,他可以帮助我们解决参数转换的问题,所谓泛型就是不会再类定义属性的时候指明属性的类型或者在定义参数的 时候指明参数的属性,等到调用的时候再去定义。范例:泛型的实现package com.wjx.sayHello;class Point{ private T x; private T y; public T getX() { return x; } public
2017-09-08 15:06:38 224
原创 Java 新特性
1.,可变参数参数数量不确定时候使用可变参数,注意,可变参数放在所有参数的最后,即一个方法只可以设置一个可变参数。public class TestDemo { public static void main(String[] args) { /** * 实现多个任意数据相加 */ System.out.println(add(1,2,3)); System
2017-09-08 14:04:53 173
原创 链表基本操作
//链表简单形式、/*class Node{private Object obj;//存放的真正对象内容private Node next;//存放的指向public Node(Object obj){this.obj=obj;}public void setNext(Node next){this.next=next;}public Nod
2017-09-03 14:17:52 191
原创 设计模式
1.工厂设计模式interface IFruit{public void eat();}class Apple implements IFruit{public void eat(){System.out.println("洗着吃苹果");}}class Orange implements IFruit{public void eat(){System.
2017-08-30 11:18:17 237
原创 多态性
1 方法的多态:(1)方法重载 (2)方法覆写2.对象的多态(前提:方法覆写)(1)向上转型:父类 父类对象=子类对象(实现接受参数的统一) (2)向下转型:子类 子类对象=(子类)父类对象 //需要强制转换,如果要进行向下转型一定要进行向上转型,否则,在转型时候会出现classCastException 的异常(可以)使用instanceOf来判断是不是两个对象有关系,可以实
2017-08-24 17:50:05 207
原创 final关键字
1.final定义的类不允许有子类。2.final 定义的方法不予许覆写3.final定义的变量变为常量,在声明时候必须初始化,且不可改变,通常是由 public static final 来定义全局常量,标识符使用全部的大写字符,比如,public staic final int LEVEAL=1;
2017-08-24 17:09:21 175
原创 Demo(动态数组的添加输出子类继承的排序反转)
/*1.定义一个数组(整型),要求实现数据的添加,数组内容的输出,数组大小的动态输出2.写一个子类继承,对实现输出的数组实现进行排序3.写一个子类继承,对实现输出的数组进行反转 */class Array{private int [] data; private int foot=0;//数组下标//数组开辟控件public Array(int len){if(len>0){this.data=n
2017-08-24 16:56:15 256
原创 内部类
1.内部类的声明定义引用class Outer {private static String str="hello"; class Inner{public void printInfo(){System.out.println("你好"+str);}}}public class TestDemo{public static void main(Stri
2017-08-24 10:06:47 142
原创 代码块
代码块分为普通代码块,构造块,静态代码块;普通代码块定义在方法类,用{}包裹,变量声明与外部互不影响,感觉没什么用。构造块定义在类里面,优先于构造方法执行,可重复声明,感觉没什么用。静态代码块是用static 声明的一段代码块,优先于构造块执行,主要作用为static 属性初始化,可以定义在类里面,也可以定义在主方法里面,优先主方法执行,感觉没什么用。class Person {
2017-08-23 10:08:49 182
原创 Static 关键字
class Person{private String name;private int age;static String country="China";static int count=0;public Person(){this("nameULL",20);// 为空用户赋值}public Person(String name,int age){th
2017-08-23 09:45:31 198
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人