
Java
文章平均质量分 60
Welch_Lam
这个作者很懒,什么都没留下…
展开
-
java8 四大核心函数式接口Function、Consumer、Supplier、Predicate
Function<T, R>T:入参类型,R:出参类型调用方法:Rapply(Tt);定义函数示例:Function<Integer, Integer> func = p -> p * 10; // 输出入参的10倍调用函数示例:func.apply(10); // 结果100Consumer<T>T:入参类型;...转载 2019-12-18 21:28:40 · 226 阅读 · 0 评论 -
Java并发编程系列一:Future和CompletableFuture解析与使用
From:https://www.cnblogs.com/happyliu/p/9462703.html一、Future模式Java 1.5开始,提供了Callable和Future,通过它们可以在任务执行完毕之后得到任务执行结果。Future接口可以构建异步应用,是多线程开发中常见的设计模式。当我们需要调用一个函数方法时。如果这个函数执行很慢,那么我们就要进行等待。但有时候,我...转载 2019-12-18 21:01:12 · 390 阅读 · 1 评论 -
Java NIO通俗编程之缓冲区内部细节状态变量position,limit,capacity(二)
From: https://blog.youkuaiyun.com/pfnie/article/details/52829549一、介绍我们介绍了NIO中的两个核心对象:缓冲区和通道,在谈到缓冲区时,我们说缓冲区对象本质上是一个数组,但它其实是一个特殊的数组,缓冲区对象内置了一些机制,能够跟踪和记录缓冲区的状态变化情况,如果我们使用get()方法从缓冲区获取数据或者使用put()方法把数据写入缓冲区,都会引起...转载 2018-03-27 21:29:09 · 320 阅读 · 0 评论 -
Java中的自动装箱与拆箱
译文出处: androidyue 原文出处:javarevisited自动装箱和拆箱从Java 1.5开始引入,目的是将原始类型值转自动地转换成对应的对象。自动装箱与拆箱的机制可以让我们在Java的变量赋值或者是方法调用等情况下使用原始类型或者对象类型更加简单直接。如果你在Java1.5下进行过编程的话,你一定不会陌生这一点,你不能直接地向集合(Collections)中放入原始类型值,因为集...转载 2018-04-25 10:36:11 · 148 阅读 · 0 评论 -
Java并发编程:CountDownLatch、CyclicBarrier和 Semaphore
原文出处: 海子在java 1.5中,提供了一些非常有用的辅助类来帮助我们进行并发编程,比如CountDownLatch,CyclicBarrier和Semaphore,今天我们就来学习一下这三个辅助类的用法。以下是本文目录大纲:一.CountDownLatch用法二.CyclicBarrier用法三.Semaphore用法一.CountDownLatch用法CountDownLatch类位于ja...转载 2018-04-29 20:04:35 · 146 阅读 · 0 评论 -
Build High Performance JVM Microservices with Ratpack & Spring Boot
From: https://www.infoq.com/articles/Ratpack-and-Spring-BootRatpack and Spring Boot are a match made in microservice heaven. Each is a developer-centric web framework for the JVM, focused on product...转载 2018-07-29 14:56:07 · 295 阅读 · 0 评论 -
生成和安装https证书
1)服务端生成证书https://www.eclipse.org/jetty/documentation/9.4.x/configuring-ssl.htmlhttps://docs.oracle.com/cd/E19509-01/820-3503/ggfen/index.htmlkeytool -keystore keystore -alias jetty -genkey -keya...转载 2018-09-01 22:02:59 · 466 阅读 · 0 评论 -
理解HTTP session原理及应用
转自:http://www.2cto.com/kf/201206/135471.html 一、术语session在我的经验里,session这个词被滥用的程度大概仅次于transaction,更加有趣的是transaction与session在某些语境下的含义是相同的。 session,中文经常翻译为会话,其本来的含义是指有始有终的一系列动作/消息,比如打电话时从拿起电话拨号到挂断电...转载 2018-10-27 18:10:17 · 159 阅读 · 0 评论 -
Spring Boot 容器选择 Undertow 而不是 Tomcat
From https://www.cnblogs.com/duanxz/p/9337022.html Spring Boot 内嵌容器Undertow参数设置配置项:# 设置IO线程数, 它主要执行非阻塞的任务,它们会负责多个连接, 默认设置每个CPU核心一个线程# 不要设置过大,如果过大,启动项目会报错:打开文件数过多server.undertow.io-threads...转载 2019-02-24 18:12:19 · 373 阅读 · 1 评论 -
Use docker to run java jar application
0) EnvironmnetCentOS 7 x641) Install Dockersudo yum updatesudo yum install -y yum-utils device-mapper-persistent-data lvm2sudo yum-config-manager --add-repo https://download.docker.com/linux/...原创 2019-04-27 17:47:09 · 179 阅读 · 0 评论 -
Java网络编程总结
From: https://blog.youkuaiyun.com/wenzhi20102321/article/details/52620323Java网络编程总结 本文主要对java网络编程Socket(套接字)接口的使用做详细的介绍和使用。 一.网络编程中两个主要的问题 一个是如何准确的定位网络上一台或多台主机,另一个就是找到主机后如何可靠高效的进行数据传输。在TCP/IP协议中IP层主要负责网络主机的...转载 2018-03-27 15:29:33 · 151 阅读 · 0 评论 -
Java泛型详解
原文出处: ZiWenXie引言泛型是Java中一个非常重要的知识点,在Java集合类框架中泛型被广泛应用。本文我们将从零开始来看一下Java泛型的设计,将会涉及到通配符处理,以及让人苦恼的类型擦除。泛型基础泛型类我们首先定义一个简单的Box类:12345public class Box { private String object; public void set(String o...转载 2018-04-01 21:44:12 · 155 阅读 · 0 评论 -
Spring Boot笔记之自定义启动banner
From: https://www.cnblogs.com/cc11001100/p/7456145.html控制banner内容Spring Boot启动的时候默认的banner是spring的字样,看多了觉得挺单调的,Spring Boot为我们提供了自定义banner的功能。自定义banner只需要在resource下新建一个banner.txt文件,将我们需要的banner字样放进去,启动...转载 2018-03-21 15:33:00 · 211 阅读 · 0 评论 -
JVM内存区域详解(Eden Space、Survivor Space、Old Gen、Code Cache和Perm Gen)
from: http://blog.youkuaiyun.com/shiyong1949/article/details/52585256JVM区域总体分两类,heap区和非heap区。 heap区又分为: - Eden Space(伊甸园)、 - Survivor Space(幸存者区)、 - Old Gen(老年代)。非heap区又分: - Code Cache(代码缓存区); - Perm Gen(永久...转载 2018-03-01 12:16:08 · 167 阅读 · 0 评论 -
spring boot + redis 实现session共享
From: https://www.cnblogs.com/mengmeng89012/p/5519698.html在spring boot的文档中,告诉我们添加@EnableRedisHttpSession来开启spring session支持,配置如下:Java代码 @Configuration @EnableRedisHttpSession public class RedisSess...转载 2018-03-16 20:40:23 · 404 阅读 · 0 评论 -
深入理解Java中的IO
From: http://blog.youkuaiyun.com/qq_25184739/article/details/51205186深入理解Java中的IO引言: 对程序语言的设计者来说,创建一个好的输入/输出(I/O)系统是一项艰难的任务 < Thinking in Java > 本文的目录视图如下:Java IO概要 a.Java IO中常用的类 b.Java流类的类结...转载 2018-03-12 18:25:45 · 162 阅读 · 0 评论 -
Java 字节流与字符流的区别
From: http://blog.youkuaiyun.com/qq_25184739/article/details/51203733字节流与和字符流的使用非常相似,两者除了操作代码上的不同之外,是否还有其他的不同呢?实际上字节流在操作时本身不会用到缓冲区(内存),是文件本身直接操作的,而字符流在操作时使用了缓冲区,通过缓冲区再操作文件,如图12-6所示。下面以两个写文件的操作为主进行比较,但是在操作时字...转载 2018-03-12 18:27:14 · 135 阅读 · 0 评论 -
JVM内存结构
From: https://www.cnblogs.com/ityouknow/p/5610232.html所有的Java开发人员可能会遇到这样的困惑?我该为堆内存设置多大空间呢?OutOfMemoryError的异常到底涉及到运行时数据的哪块区域?该怎么解决呢?其实如果你经常解决服务器性能问题,那么这些问题就会变的非常常见,了解JVM内存也是为了服务器出现性能问题的时候可以快速的了解那块的内存区...转载 2018-03-23 10:44:02 · 109 阅读 · 0 评论 -
JVM的内存区域划分(面试问题:你了解java内存模型么)
From: https://blog.youkuaiyun.com/hxpjava1/article/details/55189077 JVM的内存区域划分 学过C语言的朋友都知道C编译器在划分内存区域的时候经常将管理的区域划分为数据段和代码段,数据段包括堆、栈以及静态数据区。那么在Java语言当中,内存又是如何划分的呢? 由于Java程序是交由JVM执行的,所以我们在谈Java内存区域划分的时候事实上是...转载 2018-03-23 10:46:16 · 137 阅读 · 0 评论 -
java 线程方法join的简单总结
From: http://www.cnblogs.com/lcplcpjava/p/6896904.html虽然关于讨论线程join方法的博客已经很多了,不过个人感觉挺多都讨论得不够全面,所以我觉得有必要对其进行一个全面的总结。 一、作用 Thread类中的join方法的主要作用就是同步,它可以使得线程之间的并行执行变为串行执行。具体看代码: public class JoinTest {...转载 2018-03-23 11:27:03 · 149 阅读 · 0 评论 -
Spring AOP的实现原理
From: http://www.importnew.com/24305.htmlAOP(Aspect Orient Programming),我们一般称为面向方面(切面)编程,作为面向对象的一种补充,用于处理系统中分布于各个模块的横切关注点,比如事务管理、日志、缓存等等。AOP实现的关键在于AOP框架自动创建的AOP代理,AOP代理主要分为静态代理和动态代理,静态代理的代表为AspectJ;而动...转载 2018-03-20 11:22:42 · 135 阅读 · 0 评论 -
最好理解的: spring ioc原理讲解,强烈推荐!
From: http://blog.youkuaiyun.com/jiangyu1013/article/details/72654373IOC(DI):Java程序员都知道:java程序中的每个业务逻辑至少需要两个或以上的对象来协作完成,通常,每个对象在使用他的合作对象时,自己均要使用像new object() 这样的语法来完成合作对象的申请工作。你会发现:对象间的耦合度高了。而IOC的思想是:Spring...转载 2018-03-20 11:25:22 · 166 阅读 · 0 评论 -
JPA Insert + Oracle Sequences example
From: https://www.mkyong.com/jpa/jpa-insert-oracle-sequences-example/1. Oracle DatabaseIssue the following SQL script to create a table and a sequence.CREATE TABLE CUSTOMER( ID NUMBER(1转载 2018-01-16 13:58:41 · 365 阅读 · 0 评论