![](https://img-blog.csdnimg.cn/20201014180756927.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
java8 SE 基础
boss达人
这个作者很懒,什么都没留下…
展开
-
J2SE 8的Lambda --- 语法
语法例子 LambdaGrammarTest lambdaTest = new LambdaGrammarTest(); // 1. 能够推导出类型的,可以不写类型 String[] planets = new String[] { "11", "22", "33" }; Arrays.sort(planets, (first, second) -> first.length(原创 2018-01-30 23:11:36 · 286 阅读 · 0 评论 -
J2SE 8的输入输出--读取/写入文本文件和读取/写入二进制数据
读取/写入文本文件// 1. 文本输入// (1) 短小文本直接转入字符串String string = new String(Files.readAllBytes(Paths.get("E:\\111.txt")), StandardCharsets.UTF_8);System.out.println(string);System.out.println();// (2) 按行读取F...原创 2018-01-31 23:17:40 · 285 阅读 · 0 评论 -
J2SE 8的泛型
泛型的简单使用1. 泛型一般用E表示集合中元素;k和v表示Map中的key和value;R表示return值;T/U/S表示任意类型//(1) 简单单个元素的泛型Box<String> boxString = new Box<>();boxString.setT("boxString");System.out.println(boxString.toString())...原创 2018-02-09 12:53:43 · 222 阅读 · 0 评论 -
J2SE 8的集合
ListArrayList查询效率高LinkedList插入删除效率高ArrayListArrayList<String> arrayList = new ArrayList<>();arrayList.add("11");arrayList.add("22");//1.循环列表arrayList.iterator().forEachRemaining(n->...原创 2018-02-07 15:49:46 · 171 阅读 · 0 评论 -
J2SE 8的输入输出--序列化
1. 普通序列化 implements Serializable继承Serializable接口class Employee implements Serializable { private String name; private double salary; private LocalDate hireDay; public Employee() { } public Emp...原创 2018-02-04 23:47:55 · 165 阅读 · 0 评论 -
J2SE 8的输入输出--Path/Paths File/Files; FileSystems 类的用法
Path的简单用法//1. Path 正常用法Path path = Paths.get("src/main/resource/zip");logger.debug(path.toRealPath());logger.debug(path.toAbsolutePath());logger.debug(path.getFileName());logger.debug(path.getPar...原创 2018-02-06 19:37:14 · 225 阅读 · 0 评论 -
J2SE 8的输入输出--缓冲
FileChannel带缓冲//1. read the point locationFileChannel channelRead = FileChannel.open(Paths.get("E:\\888.txt"), StandardOpenOption.READ);ByteBuffer buffer = ByteBuffer.allocate(1024);channelRead.re...原创 2018-02-08 23:26:47 · 182 阅读 · 0 评论 -
J2SE 8的反射
1.获得Class的四种方式//(1) 利用对象调用getClass()方法获取该对象的Class实例Class<? extends ReflectTest> class1 = new ReflectTest().getClass();//(2) 使用Class类的静态方法forName(),用类的名字获取一个Class实例Class<?> class2 = Cla...原创 2018-02-14 15:05:16 · 201 阅读 · 0 评论 -
J2SE 8的脚本
1. 引擎工厂的属性引擎名字MIME类型文件扩展Nashornnashorn,Nashornjs,JSJavaScript,javascriptECMAScript,mcmascriptapplication/javascriptapplication/ecmascripttext/javascripttext/ecmascriptjsGroovygroovy groovyRenjinRenjin...原创 2018-02-25 21:32:53 · 203 阅读 · 0 评论 -
J2SE 8的编译
动态加载(修改)服务、高性动态业务逻辑实现(用脚本或模板引擎实现效率满足不了需求)package compile;import java.io.File;import java.io.IOException;import java.lang.reflect.Method;import java.net.URI;import java.nio.file.Path;import java...原创 2018-02-25 23:05:33 · 201 阅读 · 0 评论 -
你真的了解lambda吗?一文让你明白lambda用法与源码分析
本文作者: cmlanche本文链接: http://www.cmlanche.com/2018/07/22/lambda用法与源码分析/转载来源:cmlanche.com 用法 示例:最普遍的一个例子,执行一个线程 new Thread(() -> System.out.print("hello world")).start(); ->...转载 2018-08-12 11:29:44 · 740 阅读 · 0 评论 -
9 个Java 异常处理的规则
在 Java 中,异常处理是个很麻烦的事情。初学者觉得它很难理解,甚至是经验丰富的开发者也要花费很长时间决定异常是要处理掉和抛出。所以很多开发团队约定一些原则处理异常。如果你是一个团队的新成员,你可能会很惊讶,因为他们约定的规则可能和你以前使用的规则不一样。不过,有很多最佳实践的规则,被大部分团队接受。这里有 9 大重要的约定,帮助你学习或者改进异常处理。1、在 Finally 清理资源...转载 2018-09-16 10:16:12 · 544 阅读 · 0 评论 -
java中线程池的使用
public static ExecutorSevice newSingleThreadExecutor()public static ExecutorSevice newFixedThreadPool()public static ExecutorSevice newCachedThreadPool()public static ScheduledExecutorService ne...原创 2018-09-21 09:23:02 · 252 阅读 · 0 评论 -
J2SE 8的Lambda --- functions
functions //1. Runnable 输入参数:无 返回类型void new Thread(() -> System.out.println("In Java8!") ).start(); System.out.println(); //2.Predicate 输入参数:t 返回类型boolean List languages = Array原创 2018-01-30 23:20:50 · 151 阅读 · 0 评论 -
J2SE 8的Lambda --- Comparator
Person[] personArray = new Person[]{new Person("Tom"),new Person("Jack"),new Person("Alice")}; //1. 使用静态的比较器,比较的对象不能为null值 Arrays.sort(personArray, Comparator.comparing(Person::getName)); for原创 2018-01-30 23:23:09 · 191 阅读 · 0 评论 -
J2SE 8的流库 --- 基本类型流的使用
展现流的方法public static void show(String title, Stream stream){ System.out.println("title:"+title); List collect = stream.limit(10).collect(Collectors.toList()); collect.forEach(n->System.out.原创 2018-01-29 20:43:34 · 200 阅读 · 0 评论 -
J2SE 8的流库 --- 转换流, 得到的还是流
流的转换, 按照条件过滤/映射/摊平/截取/丢弃/连接/去重/排序。辅助方法public static int myCompare(String x, String y) { if(x.length()>y.length()){ return 1; }else if(x.length()==y.length()){ return x.compareTo(y); }else{ ...原创 2018-01-29 21:00:28 · 147 阅读 · 0 评论 -
J2SE 8的流库 --- 生成流
本文介绍了如何产生J2SE 8的流, 包括基本类型的流IntStream, LongStream, DoubleStream 。展现流的方法public static <T> void show(String title, Stream<T> stream){ System.out.println("title:"+title); List<T> col...原创 2018-01-29 20:31:32 · 155 阅读 · 0 评论 -
J2SE 8的流库 --- 收集处理结果
分类:简单计算, 收集到映射表中 , 群组和分组, 下游收集器, 约简操作 reduce()ArrayList arrayList = new ArrayList<>();arrayList.add("aa");arrayList.add("aA");arrayList.add("bbb");arrayList.add("a1c2");arrayList.add("a1a");ar原创 2018-01-30 00:10:52 · 225 阅读 · 0 评论 -
J2SE 8的注解
1. 注解概念(1) 注解格式modifiers @interface AnnotationName { type elementName(); type elementName() default value;}示例public @interface AnnotationExample { String assignedTo() default "value"; int ...原创 2018-02-26 16:17:34 · 314 阅读 · 0 评论 -
java基础思维导图,让java不再难懂
java基础思维导图,让java不再难懂原文链接 https://my.oschina.net/u/3080373/blog/873056最近看了一些文章的思维导图,发现思维导图真是个强大的工具。了解了思维导图的作用之后,觉得把它运用到java上应该是个不错的想法,这样回顾知识点的时候一目了然,快速知道自己的短板。思维导图不仅仅只有简单明了这个转载 2018-02-07 11:05:50 · 550 阅读 · 0 评论 -
44个Java代码性能优化总结
44个Java代码性能优化总结 代码优化的最重要的作用应该是:避免未知的错误。在代码上线运行的过程中,往往会出现很多我们意想不到的错误,因为线上环境和开发环境是非常不同的,错误定位到最后往往是一个非常小的原因。然而为了解决这个错误,我们需要先自验证、再打包出待替换的class文件、暂停业务...转载 2018-02-13 15:06:17 · 1423 阅读 · 0 评论 -
如何合理设置线程池大小
要想合理的配置线程池的大小,首先得分析任务的特性,可以从以下几个角度分析:任务的性质:CPU密集型任务、IO密集型任务、混合型任务。 任务的优先级:高、中、低。 任务的执行时间:长、中、短。 任务的依赖性:是否依赖其他系统资源,如数据库连接等。性质不同的任务可以交给不同规模的线程池执行。对于不同性质的任务来说,CPU密集型任务应配置尽可能小的线程,如配置CPU个数+1的线程数,IO...转载 2018-09-21 09:27:07 · 3855 阅读 · 0 评论