【已废弃】Executor - Thread Pool
线程执行服务:ExecutorService 感想 写四年了都……
线程执行服务:ExecutorService 感想 写四年了都……
ListenableFuture是Guava里拓展了Future的接口,增加了回调行为。所以要比Future更强大。Guava建议使用ListenableFuture取代Future。而且,看ListenableFuture的实现过程,也能让人获益良多。 总结 guava ListenableFuture 总结 通过对ListenableFuture的学习和对源码的阅读,感觉异...
在RESTful - RestTemplate中,说了自动转换都是由Http消息转换器做的。 Controller产生数据之后,DispatcherServlet不再需要将模型数据传送给视图,首先没有了模型Model,其次也没有视图View,只有控制器产生的数据,再使用消息转换器转换为一定格式的数据。 场景 HttpMessageConverter HttpMessageC...
Java Collection Framework, JCF,Java集合框架。JDK提供了很多丰富的工具集合,其他比如guava也补充了jdk里没有的更为丰富的工具集合。了解这些工具集合,就可以在不同的场景选用不同的工具,提升效率而且编程实现的会很漂亮。 接口 Collection List ArrayList LinkedList ...
生产者消费者模式是并发编程的一个经典入门场景。假设多个生产者生产一定数量的东西到队列,多个消费者从队列中取走这些东西。如果队列为空,消费者阻塞;如果队列已满,生产者阻塞。如何不出现访问错误,同时尽可能优化性能? 支持并发put/get的有界队列 自旋等待 优缺点 休眠轮询 ...
在Java中,一个线程是不能终止另一个线程的,除非那个线程自己想退出,或者JVM退出了。 比如: new Thread( new Runnable() { @Override public void run() { while (true) { } } } ).start(); 这个线程在开启之后一直在做无意义的空循环,且这个线程本...
https://developers.google.com/protocol-buffers/docs/overview protobuf比xml更快、更小。 顺便探讨一下序列化的机制。 语言规范 Java使用 Encoding 普通的序列化 protobuf序列化 序列化数字 - Varint ...
REST, Representational State Transfer,表述性、状态、转移。 Representational:表述性,表述资源,用xml、json等任何合适的格式表述资源; State:REST关注的是资源的状态,而不是对资源所采取的行为; Transfer:资源从一个应用转移到另一个应用。 所以REST就是以表述性的语言,将资源从一个地方转移到另一个...
spring boot的功能主要有四方面: starter:能够整合依赖,防止冲突,方便使用; 自动配置:利用条件注解,推测要使用的bean并自动化配置。使用者直接用这些bean就行了。所以就不用配置bean了; cli:使用groovy写工程,直接cli运行。但是个人感觉大项目好像不太适用,写写小demo倒是很方便; actuator:直接为应用引入一些管理的功能。 ...
Unicode就是一个超大号字符集合,旨在将世界上所有现存的、曾有的符号(文字、数学、音乐等所有符号)囊括其中。它像一个接口,只是规定了所有字符的编号,具体这些字符在使用、存储的时候用字节怎么表示,取决于各个字符集的实现。 Unicode 面板plane BMP 字符编码 定长 vs. 变长 UTF-...