JAVA
一个X号的QB
这个作者很懒,什么都没留下…
展开
-
java8新特性之一Stream API(java.util.stream)
1,首先,tasks集合被转换成steam表示;其次,在steam上的filter操作会过滤掉所有CLOSED的task;第三,mapToInt操作基于每个task实例的Task::getPoints方法将task流转换成Integer集合;最后,通过sum方法计算总和,得出最后的结果import java.util.Arrays;import java.util.Collection;enum ...转载 2018-04-03 11:13:42 · 376 阅读 · 0 评论 -
关于java线程池的利与弊、优化等的见解
下面的图是线程池的类的继承关系,顶级的Executor,是一个线程执行的工具。真正的线程接口是ExecutorService,里面包含提交两种线程的操作,Runnable和Callable。ScheduledExecutorService,解决那些需要任务重复执行的问题。ScheduledThreadPoolExcutor是周期性任务调度的类的实现可以创建三种线程池。 1、newFixe...原创 2018-10-24 14:58:31 · 1758 阅读 · 0 评论 -
LinkedBlockingQueue ,newFixedThreadPool创建固定数目线程线程池时需要的数据结构
原创 2018-10-25 16:50:31 · 1130 阅读 · 0 评论 -
java线程池之PrivilegedThreadFactory
这个类的源码如下: static class PrivilegedThreadFactory extends DefaultThreadFactory { private final AccessControlContext acc; private final ClassLoader ccl; PrivilegedThreadFactor...转载 2018-10-25 14:38:10 · 2220 阅读 · 0 评论 -
java的线程池之DefaultThreadFactory
java的线程池的线程是从哪里来的呢?这里就需要线程工厂来生成。整个线程工厂产生的线程具有相同的group、namePrefix.默认的线程工厂的源码如下:static class DefaultThreadFactory implements ThreadFactory { private static final AtomicInteger poolNumber = n...原创 2018-10-25 14:31:54 · 6441 阅读 · 0 评论 -
java线程池的介绍-接上一篇
上一篇整理了线程池的内容,但是后来去看源码里面的介绍,发现有一些出入,所以这一篇就是为了完善上一篇而存在的原创 2018-10-25 11:53:12 · 290 阅读 · 0 评论 -
关于工厂模式和单例模式的融合用法的个人见解
最近在思考spring代码如何降低内存消耗,减少对象创建的问题。后来想到使用工厂模式+单例模式来实现。此处就不贴代码了。直接介绍原理:1,提供一个工厂类Factory,来提供一个统一的入口,让APP统一从入口调用,获取想要的类的对象。2,为用户提供的类的对象,每个都通过单例模式生成一个对象 以上设计的好处:1,便于对整个spring的service、dao层做统一的日志处理,和...原创 2018-08-29 22:33:16 · 2364 阅读 · 1 评论 -
Spring boot里面的Actuator
Actuator提供了对各个微服务监控的方式,只需要引入简单的pom依赖,你就可以通过微服务的业务端口来获取微服务运行平台的各类环境信息。autoconfig 显示自动配置的信息beans 显示应用程序上下文所有的spring beanconfgprops 显示所有@ConfigurationProperties的配置属性列表dump 显示线程活动的快照env 显示应用的环境...原创 2018-08-16 14:48:31 · 282 阅读 · 0 评论 -
Java的TreadLocal的使用特点
最近在看spring的代码的时候,看到一些需要共享的变量使用ThreadLocal来保存的,突发奇想,想要深入了解一下ThreadLocal的用法,看了网上很多作者的优秀博文,最后总结一下自己印象最深的几点:1,ThreadLocal中包含的对象,可以在不同的Thread中保持不同的副本,且该副本只能当前Thread使用2,解决了多线程之间的共享问题3,使用于每个线程都需要自己独立的实...原创 2018-08-10 10:35:35 · 499 阅读 · 0 评论 -
Java8中对于JS的支持
直接上例子:import javax.script.ScriptEngine;import javax.script.ScriptEngineManager;import javax.script.ScriptException;public class NashornJS {public static void main(String[] args) throws ScriptException...转载 2018-04-03 20:25:04 · 1496 阅读 · 0 评论 -
java8新特性之四--方法引用
直接上例子:import java.util.ArrayList;import java.util.function.Supplier;class Instance { public static Instance create(final Supplier<Instance> supplier) { return supplier.get(); } public void plus...原创 2018-04-03 20:11:05 · 241 阅读 · 0 评论 -
Java 8新特性之三-接口的默认方法和静态方法
1,默认方法的用途,例子如下:interface DefaultInterface { void printHello(); default String defaultMethod() { return "DefaultFunction()"; }}class ClassImpl implements DefaultInterface{ @Override public void printH...原创 2018-04-03 19:57:10 · 248 阅读 · 0 评论 -
JAVA8的StreamAPI的collect
下面这块代码主要目的是:对List中的多个TasK进行分组,分组结束后成为两组,然后把结果转换为了一个Map对象,键是GroupBy的Status字段,值是Task对象import java.util.Arrays;import java.util.Collection;import java.util.List;import java.util.Map;import java.util.stre...原创 2018-04-03 15:39:19 · 493 阅读 · 0 评论 -
java8新特性之二-Lambda表达式和函数式接口
import java.util.ArrayList;import java.util.List;public class LambdaNewItem { static Integer count = 1; public static void main(String[] args) { List<Integer> col = new ArrayList<Integer>...原创 2018-04-03 11:52:47 · 206 阅读 · 0 评论 -
Spring boot中引入本地的jar包
很多情况下,一些jar包在maven上面那是没有对应的引用依赖。所以只能引用本地的jar文件。但是这种情况下不能直接引用,添加到referenceLibrary中的,1,需要在项目的目录下添加libs目录.2,在pom文件中添加如下配置,来让maven知道这个jar文件是本地的 2 3 4 5 6 7 8 9 1...转载 2018-11-02 08:33:54 · 742 阅读 · 0 评论