自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(24)
  • 收藏
  • 关注

原创 JDK1.8新特性之方法函数式接口+默认方法

Function interface 接口就是一个有且只有一个抽象方法但是可以有非抽象方法 的接口1.可以用lambda表达式2.也可以用方法的引用其实在jdk8之前已经有部分的函数式接口如:Java.lang.RunnableJava.util.ComparatorJava.IO.FileFilter在jdk8以后,新添加的一个函数式接口Java.util.Function,...

2019-07-30 20:26:27 405

原创 JDk1.8新特性之方法引用

方法的引用方式是用—>类名::方法名具体写法:构造器的引用 Class::new静态方法引用 Class::静态方法名称特定的类的任意对对象引用 Class::非静态方法名称特定对象的方法引用 对象::非静态方法名称其本质还是lambda表达式 //java7写法 Car car1=Car.create(new Supplier<Car>(){ public ...

2019-07-30 20:13:54 239

原创 JDK1.8新特性之lambda表达式

2014年3月发布,其中提供了很多的新的特性一:lambda表达式a. Lambda表达式称之为闭包,他是java8中的非常重要的特性,很多地方都用到此表达式b. Lambda表达式允许把函数作为一个方法的参数,函数作为参数进行传递到方法中c. 从而使得代码更加简洁语法:(parameters) ->expression代码 (大多数写法)或(parameters) -&...

2019-07-30 19:14:51 133

原创 Annotation(注解)概述

从JDK5.0开始, Java增加了对元数据(MetaData)的支持,也就是 Annotation(注解)。Annotation其实就是代码里的特殊标记,它用于替代配置文件,也就是说,传统方式通过配置文件告诉类如何运行,有了注解技术后,开发人员可以通过注解告诉类如何运行。在Java技术里注解的典型应用是:可以通过反射技术去得到类里面的注解,以决定怎么去运行类。掌握注解技术的要点:• 如何定...

2019-07-28 18:36:18 251

原创 内省

内省就是自查的意思,本质就是反射,利用反射自省类中的属性方法内省的实现方式:方式一:Jdk(jre)中自带的一套自省的类库,API方法侧重属性和属性的值,以及属性所对应的getter和setter方法方式二:(推荐使用)Apache的基金会提供的一套公共的自省类库Commons-BeanUtils.jar方式一:Jdk(jre)中自带的一套自省的类库,API方法侧重属性和属性的值...

2019-07-28 18:25:37 173

原创 浅谈反射

@Testpublic void testMethod1(){ //传统做法,在编译期间确定调用的关系 User user=new User(); user.setUserName("张三"); user.setUserPassword("zs"); System.out.println(user.getUserName()+" "+user.getUserPassword())...

2019-07-28 18:08:41 114

原创 java线程池

线程逻辑类:public class MyThread extends Thread { @Override public void run() { try { System.out.println(Thread.currentThread().getName()+"正在执行..."); Thread.sleep(3000); } catch (InterruptedE...

2019-07-24 15:18:45 92

原创 TCP网络编程之多线程文件上传与下载

1. java的IO流input输出:所有往内存中送数据的都是输入output输出:所有的从内存中出数据都是输出能用java.io包的api方法操作的输入输出内存–>外存(硬盘,光盘,U盘) 本地流输出内存<–外存 本地流输入2. 结合Socket网络编程** 内存–>网络上 网络流输出内存<–网络上 网络流输入****...

2019-07-24 14:49:52 841

原创 TCP网络编程之单线程

单线程客户端与服务器简单实现:服务器端:import java.io.BufferedInputStream;import java.io.BufferedOutputStream;import java.io.DataInputStream;import java.io.DataOutputStream;import java.io.InputStream;import java....

2019-07-24 14:25:23 200

原创 TCP网络编程之多线程

单线程客户端与服务器简单实现:服务器端:import java.io.BufferedInputStream;import java.io.BufferedOutputStream;import java.io.DataInputStream;import java.io.DataOutputStream;import java.io.InputStream;import java....

2019-07-24 14:13:04 384

原创 集合比较器|集合排序

List集合排序:- Collections.sort(List);sort方法的参数是一个List集合,对List集合中的数据排序如果List集合中的元素,每个元素内部只有一个数据,就直接比较即可,前提要保证元素中的数据类型,必须重写了compareTo方法如果List集合中的元素,且每个元素中有很多的其他数据,就需要把元素的类型实现Comparable接口,并重写CompareTo...

2019-07-16 20:26:26 517

原创 iterator集合迭代器

集合迭代器是迭代设计模式的一种很好的实现集合中的List Set Map数据结构各不相同,因此,设计一个迭代接口,所有不同结构集合都分别实现他们的迭代遍历集合的迭代本质就是把 所有的集合的遍历方式转换成一种遍历方式实现步骤:List集合转换成迭代器集合,用迭代器的API方法来迭代数据Set集合装换成迭代器集合,用迭代器的API方法来迭代数据Map集合转换迭代器集合,用迭代器API的...

2019-07-16 19:47:32 130

原创 浅谈java垃圾收集管理器 GC

GC是JVM 的一个后台线程,此线程完成的功能是收集堆空间中没有引用对象的内存空间,并释放空间GC的主要特点:释放无用的对象空间,程序员无法控制GC的调用gc针对的是堆内存在堆内存中创建的对象是创建在新生代中新生代区:young generation1.伊甸园区:Eden 所有的新创建的对象都放在此区2.幸存区:Survivor 在Eden区经过一个扫描,此对象还在,就把此对...

2019-07-12 20:36:47 133

原创 异常小结

异常: java中有三种错误:1.语法错误/编译错误: 在ide(集成开发环境)工具(eclipse,myeclipse等) 中写代码,代码写错了,在工具中用红波浪线或红叉 来表示,如果现实红波浪线,此代码是不能通过工具 进行编译的,不能编译,就不能执行2.逻辑错误: 前提是语法没有错误,程序能编译,能运行,但结果是错误的 一般原因就是代码的逻辑写错了,最终结果也是错的3.运...

2019-07-12 20:10:52 155

原创 初识bulider模式

简单的builder模式实现在实际开发中,有些对象的某些属性是必须赋值的不能为空的,通过内部类对象调用私有外部类构造,用简单的builder实现例public class Person { // 姓名 - required 必须赋值 private String name; // 性别 - required 必须赋值 private String gender; // 年龄...

2019-07-11 16:35:55 196

原创 测试单元

单元测试: junit java unit test java的单元测试junit是一个大家公认的且广泛使用的测试框架测试的功能是由junit框架提供的,要使用这个框架就必须引出junit测试框架的jar包程序员需要测试程序员自己写方法是否正确,所有需要单元测试单元测试的版本:junit3junit4junit5单元测试中的名词:断言 assert:断:断定,判定言:...

2019-07-11 16:15:02 289

原创 jar包导入导出问题

jar包:是java中的特殊一种压缩格式的包jar包中压缩的是class文件把jar包提供给任何人使用都可以一般情况下jar包是由某个项目导出成一个jar,并把jar包提供给需要的项目使用导出jar包的步骤:右键单击要到出jar包的项目名称–export–>java–>jar file–>next–>输入jar文件的存储路径和文件名–>finish...

2019-07-11 15:36:07 132

原创 匿名内部类

匿名内部类是内部类,但没有类的名字,但有{属性和方法}比如:Person接口interface Person{ public abstract void study(); public abstract void eat(); }匿名内部类,但有对象名Person p=new Person(){ public void study(){ //具体的方法实现 } ...

2019-07-11 13:10:38 80

原创 内部类

内部类: 顾名思义就是把类放在某个范围的内部类可以放在包类可以放在文件中,.java文件类可以放在类中(类里套类) 内部类类可以放在方法中(方法类套类) 内部类1.类中放置内部类要使用内部类,就需要在外部类中实例化内部类的对象然后用对象打点调用内部类中的方法(可以在外部类中,调用内部类的私有方法和私有属性)通过内部类里的方法来操作内部类的数据,在内部类中可以直接...

2019-07-11 12:53:08 74

原创 多态小结

多态: 顾名思义就是多种表现状态最直观的理解:有对象名称,用对象名称打点调用方法在不同的时候执行的方法的功能是不一样的.*多态的判断标准:跨类且继承,多态是以继承作为基础的子类重写长辈的方法子类对象赋值给长辈的引用比如:CommonPerson cp=new Student();Person p=new Student(); Object obj=new Stude...

2019-07-10 20:19:52 197

原创 抽象与接口

抽象类:如果一个类中,有方法没有方法体,那么这个方法就是抽象方法即,方法只有声明,没有方法体如果一个类中,只要有抽象方法,那么这个类就是抽象类说明这个类不具体抽象类也是类,有类就可以放属性和方法(带方法体,不带方法体)抽象类中可以放置属性,属性使用来存储数据的抽象类中可以放置有方法体的方法,此方法能够完成某个功能抽象类中可以放置没有方法体的方法,这个方法就是抽象方法只要类中有一个...

2019-07-10 19:53:04 138

原创 继承小结

继承 继承必须以封装为基础, 实现继承就是为了代码的重用,继承充分展现了代码的可复用性 因为现实世界有很多的继承关系,所以把现实世界的物或事 转换到计算机中,就需要java的继承,同时增加类和类的关系 此关系很单一,就是继承关系所有的非Object类都有父类,如果没有写extends关键字, 实际上默认继承了Object顶级父类java的根类是Object类继承中的几...

2019-07-10 19:27:21 117

原创 static关键字详解

静态: static所有与静态相关,都是用static 修饰1. static 可以修饰成员变量,不能修饰局部变量2. static 可以修饰方法3. static 可以修饰代码块,静态代码块(静态块/静态初始化块)static 修饰的成员变量开辟空间在方法区所以就是一份内存空间,任何方法都可以修改这个静态变量,一般静态变量做一些公用或共用的计数,要慎用,尽量变量做成局部变量,...

2019-07-10 19:01:39 187

原创 对象和类在jvm内存中的存储机制

对象和类在jvm内存中的存储机制引言:为什么要有面向对象? a.可以用类组织一批不同类型的数据 b.把现实世界的物和事转换到计算中 现实世界的对象--->计算机中的类-->计算机内存中的对象要实现面向对象的手段和途径,关键是类类:就是一个名字 就是一个模型 就是一个数据结构 就是一种数据类型用类可以在内存中实例化若干对象 jvm把内存分为三...

2019-07-09 12:48:44 1868

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除