-------【JavaSE】
文章平均质量分 63
KimZing
Programming as a Way of Thinking
展开
-
Java注解入门到精通,这一篇就够了
一、为什么要学注解? 在日常开发中,基本都是在使用别人定义或是各种框架的注解,比如Spring框架中常用的一些注解:@Controller、@Service、@RequestMapping,以此来实现某些功能,但是却不知道如何实现的,所以如果想学习这些框架的实现原理,那么注解就是我们必知必会的一个点。其次,可以利用注解来自定义一些实现,比如在某个方法上加一个自定义注解,就可以实现方...原创 2020-04-06 00:25:06 · 15422 阅读 · 5 评论 -
Java反射学习总结
一、简述Class Class和class是不同的两个点,Class本身也是一个类型,和String、List本身没有什么差异, 而class只是一个关键字。Class可以理解为某个类型的元信息,包含其对应的构造函数(Constructor)、方法(Method)、属性(Field)以及其他相关信息(比如注解等信息)。 通过反射,也就是操作Class具体的对象,...原创 2020-03-31 19:56:14 · 1293 阅读 · 0 评论 -
1.lamada教学-java8新特性
函数式接口 函数式接口(functional interface 也叫功能性接口,其实是同一个东西)。简单来说,函数式接口是只包含一个方法的接口。比如Java标准库中的java.lang.Runnable和java.util.Comparator都是典型的函数式接口。java 8提供 @FunctionalInterface作为注解,这个注解是非必须的,只要接口符合函数式接口的标准(即只包含一个转载 2017-04-11 16:23:50 · 1323 阅读 · 0 评论 -
java中printf详解
简单分析Formatter类介绍与使用具体介绍下参数的用法常用操作符时间日期类DateTimeDate有一些格式化好的格式可以直接用Flag日期的示例数字的示例1.简单分析System.out.printf(String format, Object ... args);首先通过System拿到静态对象public final static PrintStream out =原创 2017-04-10 16:56:10 · 10713 阅读 · 0 评论 -
jmf在win7x64下的安装及使用
最近公司需要做一个人脸识别系统,需要用java读取摄像头获取视频,网上查了很多资料,需要使用jmf(opencv和ffmpeg也是可以的,不过调用比较麻烦),自己试了下安装jmf,总是出现各种问题。下面总结下我的安装过程。官网下载jmf的安装包,jmf已经停止维护了,只有32位的安装程序,所以要求我们必须用32位的jdk,这点一定要记住,否则是行不通的。官网地址:下载地址点此双击安装程序(以管理原创 2016-09-08 10:37:59 · 3959 阅读 · 2 评论 -
java进制的转换与运算
高二的时候第一次接触到了进制的概念,感觉非常神奇。还记得老师当时和我们说电脑世界都可以用0和1表示高二的时候第一次接触到了进制的概念,感觉非常神奇。还记得老师当时和我们说电脑世界都可以用0和1表示1表示,又说了二进制、八进制、十六进制,当时很不明白。虽然进制什么的可以有工具直接计算,但是我们明白原理在操作上多少回给我们一些帮助。 什么叫进制呢?通俗的讲就是逢几进一,拿我们最熟悉的十进原创 2015-06-15 12:21:23 · 1287 阅读 · 0 评论 -
java动态代理与cglib代理的简单使用
AOP的拦截功能是由java中的动态代理来实现的。说白了,就是在目标类的基础上增加切面逻辑,生成增强的目标类(该切面逻辑或者在目标类函数执行之前,或者目标类函数执行之后,或者在目标类函数抛出异常时候执行。不同的切入时机对应不同的Interceptor的种类,如BeforeAdviseInterceptor,AfterAdviseInterceptor以及ThrowsAdviseInterceptor原创 2017-06-14 21:12:50 · 531 阅读 · 0 评论 -
class.getResource与class.getClassLoader().getResource使用
记录缘由 java项目中的文件路径读取一直都分不太清楚,虽然现在框架可以搞定一切,但做纯的java项目中终究是个小坑,那么就解决他。 首先分清两个重要的概念:(只针对当前环境的定义) 1. 根路径:相对于当前项目的根目录(如下结构中的”projectName”) 2. 相对路径:针对当前类class文件的路径 注意点所有的操作都是针对class路径来操作的//编原创 2017-05-16 19:09:21 · 1659 阅读 · 0 评论 -
trywithresource使用方式
一、基本使用 trywithresource是Java7中新增的功能,可以自动关闭实现了AutoCloseable的资源语法:try(需要关闭的资源){ //TODO }以前我们关闭一个资源需要这样做:static String readFirstLineFromFileWithFinallyBlock(String path)throws IOException { Buff原创 2017-10-16 23:33:29 · 1555 阅读 · 0 评论 -
使用JDK自带工具将类转换为xml
一、使用情景某些时候,我们需要将类转换为xml字符串或者文件进行发送或操作,jdk本身便提供了这样的工具。JAXBContext。二、使用代码中注释的很清楚了,就不解释了。主要有两个类:PersonBO是要转换的载体类。Main是测试类。PersonBOpackage com.kingboy.xml;import javax.xml.bind.annotation.*;import java.ut原创 2017-11-12 15:50:55 · 1156 阅读 · 0 评论 -
Java8新特性-LocalDateTime
当我们开始使⽤Java操作⽇期和时间的时候,会有⼀些棘⼿。你也许会通过 System.currentTimeMillis() 来返回1970年1⽉1⽇到今天的毫秒数。或者使⽤ Date类来操作⽇期;当遇到加减⽉份、天数的时候 你⼜需要⽤到Calendar类; 当需要格式化⽇期的时候需要使⽤java.text.DateFormat类。 总⽽⾔之在Java中 操作⽇期不是很⽅便,以⾄于很多开发者不得不...原创 2018-12-07 17:35:30 · 9865 阅读 · 0 评论 -
Lambda与函数接口
文章目录一、Lambda表达式一、什么是lambda ?1.1 传统写法1.2 Lambda写法二、Lambda基础语法2.1 格式规范2.2 示例三、函数式接⼝3.1 Runnable3.2 自定义一个函数式接⼝, 并完整使用一下3.3 jdk中默认提供的函数接口3.3.1 Consumer3.3.2 Function3.3.3 Supply3.3.4 Predicate四、方法引用与构造引用4...原创 2018-12-07 17:39:11 · 991 阅读 · 0 评论 -
2.接口默认方法教学-java8新特性
什么是默认方法,为什么要有默认方法 简单说,就是接口可以有实现方法,而且不需要实现类去实现其方法。只需在方法名前面加个default关键字即可。 为什么要有这个特性? 首先,之前的接口是个双刃剑,好处是面向抽象而不是面向具体编程,缺陷是,当需要修改接口时候,需要修改全部实现该接口的类,目前的java 8之前的集合框架没有foreach方法,通常能想到的解决办法是在JDK里给相关的接口添加新转载 2017-04-11 16:24:56 · 516 阅读 · 0 评论 -
3.Stream使用教学-java8新特性
1.关于JSR335 JSR是Java Specification Requests的缩写,意思是Java 规范请求,Java 8 版本的主要改进是 Lambda 项目(JSR 335),其目的是使 Java 更易于为多核处理器编写代码。JSR 335=lambda表达式+接口改进(默认方法)+批量数据操作。加上前面两篇,我们已是完整的学习了JSR335的相关内容了。2.外部VS内部迭代转载 2017-04-11 16:25:44 · 692 阅读 · 0 评论 -
4.java 泛型的目标类型推断
简单理解泛型 泛型是Java SE 1.5的新特性,泛型的本质是参数化类型,也就是说所操作的数据类型被指定为一个参数。通俗点将就是“类型的变量”。这种类型变量可以用在类、接口和方法的创建中。 理解Java泛型最简单的方法是把它看成一种便捷语法,能节省你某些Java类型转换(casting)上的操作:List<Apple> box = new ArrayList<Apple>();bo转载 2017-04-11 16:26:20 · 823 阅读 · 0 评论 -
Java中PO,VO,BO,DTO,POJO,以及之间的区别
PO持久对象persistent objectVO值对象Value ObjectView ObjectBO业务对象层的缩写Business ObjectDTO数据传输对象Data Transfer ObjectPOJO无规则简单java对象plain ordinary java objectVO与DTO的区别区别应用DTO与DO的区别区别DTO与DO的应用DO与PO的区别区别原创 2017-06-05 16:13:22 · 5312 阅读 · 2 评论 -
扒一扒 ReentrantLock 以及 AQS 实现原理
提到JAVA加锁,我们通常会想到synchronized关键字或者是Java Concurrent Util(后面简称JCU)包下面的Lock,今天就来扒一扒Lock是如何实现的,比如我们可以先提出一些问题:当我们通实例化一个ReentrantLock并且调用它的lock或unlock的时候,这其中发生了什么?如果多个线程同时对同一个锁实例进行lock或unlcok操作,这其中又发生了什么?转载 2017-05-17 19:54:31 · 826 阅读 · 0 评论 -
Java 并发编程 : volatile 关键字解析
volatile这个关键字可能很多朋友都听说过,或许也都用过。在Java 5之前,它是一个备受争议的关键字,因为在程序中使用它往往会导致出人意料的结果。在Java 5之后,volatile关键字才得以重获生机。volatile关键字虽然从字面上理解起来比较简单,但是要用好不是一件容易的事情。由于volatile关键字是与Java的内存模型有关的,因此在讲述volatile关键之前,我们转载 2017-05-17 19:51:18 · 371 阅读 · 0 评论 -
java中的FileChannel基本使用
一.获取实例 Java NIO中的FileChannel是一个连接到文件的通道。可以通过文件通道读写文件。 我们无法直接打开一个FileChannel,需要通过使用一个InputStream、OutputStream或RandomAccessFile来获取一个FileChannel实例。 //获取方式一 /*-----------------------原创 2017-05-17 17:43:50 · 4382 阅读 · 0 评论 -
java中的卫语句
一句话:把嵌套写的ifelse判断,改为串行的条件判断原判断public void function() { if(IsWorkDay()) { //boolean Sysetm.out.println("Error,is work day"); } else { if(IsWorkTime()) { //boolean原创 2017-05-16 20:21:27 · 2080 阅读 · 0 评论 -
3、实现泛型特性构件
面向对象的一个重要目标是对代码重用的支持。支持这个目标的一个重要的机制就是泛型机制(generic mechanism):例如:可以编写一个方法,将由一些对象组成的数组排序,方法的逻辑关系与被排序的对象的类型无关,此时可以使用泛型方法。1. 使用Object模拟表示泛型 public static void main(String[] args) { Integer[] i原创 2017-04-17 19:26:27 · 386 阅读 · 0 评论 -
java文件操作之Path,Paths,Files
Java7中文件IO发生了很大的变化,专门引入了很多新的类: import java.nio.file.DirectoryStream;import java.nio.file.FileSystem;import java.nio.file.FileSystems;import java.nio.file.Files;import java.nio.file.Path;import j原创 2017-04-13 12:38:42 · 4972 阅读 · 1 评论 -
6.如何正确使用Optional-java8新特性
我们知道 JAVA 8 增加了一些很有用的 API,其中一个就是 Optional。如果对它不加以思索,只是轻描淡写的认为它优雅的解决了 NullPointException 的问题,于是就开始这样编写代码:Optional<User> user = ....if(user.isPresent()){ return user.getOrders();} else { return Co转载 2017-04-11 16:28:35 · 2243 阅读 · 1 评论 -
5.2DateTime示例
import java.time.*;import java.time.chrono.ChronoLocalDateTime;import java.time.chrono.HijrahChronology;import java.time.format.DateTimeFormatter;import java.time.temporal.IsoFields;import java.ut转载 2017-04-11 16:27:59 · 489 阅读 · 0 评论 -
5.1-java8日期和时间DateTime,LocalDateTime
吐槽java.util.Date跟Calendar Tiago Fernandez做过一次投票,选举最烂的JAVA API,排第一的EJB2.X,第二的就是日期API。槽点一 最开始的时候,Date既要承载日期信息,又要做日期之间的转换,还要做不同日期格式的显示,职责较繁杂(不懂单一职责,你妈妈知道吗?纯属恶搞~哈哈) 后来从JDK 1.1 开始,这三项职责分开了:使用Calen转载 2017-04-11 16:27:31 · 6516 阅读 · 0 评论 -
反射的基本用法大全
类结构简要说明 自己做个记录,个人总结的反射用法,基本按照下面的代码code一遍就理解了。 包路径:relection Person类为具体的类,继承Animal抽象类,实现Eat接口 ChineseName为注解类,属性有String name() default “”; Reflection为测试类。 一般带有Declared的方法,都是包括公有和私有的。不过要原创 2017-05-25 18:38:11 · 725 阅读 · 0 评论