
java/java8
快乐崇拜234
学习笔记
展开
-
google aviator:轻量级Java公式引擎
文章目录常用的方法官方文档简介包依赖使用手册执行表达式使用变量exec 方法调用函数自定义函数编译表达式访问数组和集合三元操作符正则表达式匹配变量的语法糖nil 对象日期比较大数计算和精度字面量表示运算类型转换和提升decimal 的计算精度强大的 seq 库两种运行模式调试信息语法手册数据类型操作符算术运算符逻辑运算符关系运算符位运算符匹配运算符三元运算符内置函数常用的方法@Test public void playAviator(){ String string = AviatorEvalua转载 2020-06-30 15:44:14 · 23821 阅读 · 1 评论 -
java自定义类加载器并观察类卸载过程
欢迎关注本人公众号文章目录欢迎关注本人公众号概述代码实现概述之前我写了篇博客: java自定义类加载器实现类隔离 ,里面介绍了如何自定义类加载器实现了类隔离。通常情况下,在JSP,OSGI及其他一些支持热替换的库,都是需要进行类的卸载回收的,否则类在替换后,老的类就没用了但是还在内存中,就会造成内存泄漏。我们知道类的卸载需要满足以下三个条件:该类所有的实例都已经被GC,也就是JVM中不存在该Class的任何实例。加载该类的ClassLoader已经被GC。该类的java.lang.Cl原创 2020-06-11 19:49:45 · 2177 阅读 · 1 评论 -
java11:NoClassDefFoundError: javax/activation/MimetypesFileTypeMap
文章目录错误描述解决办法错误描述在 netty4.1实现http文件服务器 一文中我们有使用到javax.activation.MimetypesFileTypeMap。但是java9+对Java实行了模块化处理,有一些模块没有默认加载,所以在使用这些模块时,需要我们主动的引入。错误信息:NoClassDefFoundError: javax/activation/MimetypesFile...原创 2020-02-16 18:51:44 · 4589 阅读 · 1 评论 -
java自定义类加载器实现类隔离
网上java自定义类加载器很多容易找到,但是都是加载的单个类,如果被加载的类,有引用了其他类怎么办呢?接下来看一下如何来处理这种情况原创 2019-12-18 10:43:14 · 1194 阅读 · 0 评论 -
java类加载机制:到底能不能自己自定义java.lang.String类
文章目录概述网络上的错误(不准确)答案jdk11jdk8可否直接使用自定义的java.lang.String?自定义类加载器参考资料概述这个是一个经典的面试题:java类加载机制:到底能不能自己自定义java.lang.String类主要考察java的类加载机制。网络上的错误(不准确)答案一般来说不可以,即使定义了,也不会加载。依然会读取src包下的S的string类。但是,我们可以自...原创 2019-12-17 15:56:39 · 4655 阅读 · 2 评论 -
Java list 三级排序
java 排序list排序list多字段排序原创 2017-07-05 11:35:17 · 2233 阅读 · 2 评论 -
Linux(openSSL)上RSA密钥生成和使用(java)
openssl 公私钥生成生成私钥;java版原创 2017-07-05 10:50:08 · 4042 阅读 · 0 评论 -
Twitter的分布式自增ID算法snowflake(有改动Java版)
分布式ID生成器 全局唯一ID生成 分布式纯数字ID 其实这也不是Twitter独有的,mongodb也采用类似的方法生产自增ID。对于全局唯一ID的说明请参考我另一篇文章 : 高并发分布式环境中获取全局唯一ID[分布式数据库全局唯一主键生成] 该算法最大的好处就是:纯数字;基本有序递增为了简单起见,我这里对snowflake算法进行了一点点修改,修改后的格式为:41位时间戳 |原创 2017-07-04 19:33:01 · 5248 阅读 · 2 评论 -
java8新特性详解
Lambda表达式语法 parameter -> expression body可选类型声明 - 无需声明参数的类型。编译器可以从该参数的值推断。可选圆括号参数 - 无需在括号中声明参数。对于多个参数,括号是必需的。可选大括号 - 表达式主体没有必要使用大括号,如果主体中含有一个单独的语句。可选return关键字 - 编译器会自动返回值,如果主体有一个表达式返回的值。花括号是必需的,以表明原创 2017-03-14 11:21:20 · 12875 阅读 · 2 评论 -
升级jdk8后系统报错解决:java.lang.RuntimeException: java.io.IOException: invalid constant type: 18
今天项目从jdk7升级到jdk8,Tomcat启动竟然报出这个运行时错误。 错误信息:java.io.IOException: invalid constant type: 18转载 2017-01-19 15:43:05 · 15208 阅读 · 1 评论 -
关于Integer数值比较的问题以及不可变对象
前言写这篇文章是因为在之前的项目中通过findbugs进行代码优化,爆出的问题。其实我们的代码中暗藏危机,只是没有暴露出来而已 我这里使用jdk7测试public static void main(String[] args) { Integer a = 10; Integer b = 10; System.out.println("a == b原创 2017-01-19 11:01:05 · 2881 阅读 · 0 评论 -
springboot 中数据源配置,连接池配置,源码剖析,如何选择连接池
springboot目录Spring Boot 源码深入分析springboot 中数据源配置,连接池配置,源码剖析,如何选择连接池spring boot多数据源配置,多数据源事务之前讲了springboot中如何配置MySQL以及配置多数据源,参数也都配置好了,那么springboot中到底如何选择的呢?声明:本文使用的springboot版本是1.5.3.RELEASE原创 2018-03-29 20:35:01 · 8491 阅读 · 1 评论 -
Spring Boot 1.5.3 源码深入分析
更多springboot2.X文章请移步至博主专栏:spring boot 2.X/spring cloud Greenwich 目录1. 项目初始化过程springboot启动类SpringFactoriesLoader工厂加载机制总结初始化initialize过程run方法:spring事件自定义spring事件springboot启动过程中的事件广...原创 2018-03-29 16:05:40 · 3231 阅读 · 3 评论 -
分布式熔断、限流与服务保护:深入 Hystrix 原理及使用
原文链接,也是本人写的:http://gitbook.cn/books/5a61644f6a16de239e22e55d/index.html我的hystrix几篇文章目录:分布式熔断、限流与服务保护:深入 Hystrix 原理及使用RxJava 驯服数据流之时间平移Hystrix 1.5 滑动窗口实现原理总结目录集成到springboot集成到springMV...原创 2018-03-29 16:07:57 · 16022 阅读 · 0 评论 -
spring boot多数据源配置,多数据源事务
springboot目录Spring Boot 源码深入分析spring boot多数据源配置,多数据源事务springboot 中数据源配置,连接池配置,源码剖析,如何选择连接池 阅读本文前 ,请先阅读笔者另一片文章Spring Boot 源码深入分析需求描述在业务开发中,需要读写分离,或者需要配置多个数据源,接下来我们看看在springboot中如何配置多数据...原创 2018-03-29 17:24:09 · 13643 阅读 · 6 评论 -
tomcat启动报错:Unable to complete the scan for annotations for web application [] due to a StackOverflow
关键报错信息:Caused by: java.lang.IllegalStateException: Unable to complete the scan for annotations for web application [] due to a StackOverflowError. Possible root causes include a too low setting fo...原创 2018-06-04 15:55:57 · 28466 阅读 · 15 评论 -
java9 响应式编程支持
文章目录概述响应式编程接口demo概述java9开始,官方支持了响应式编程规范,提供了顶级的响应式编程接口。java11开始,官方提供了支持http2的、友好的http客户端java.net.http,该客户端就是jdk内部第一个基于响应式编程规范的实现。响应式编程接口package java.util.concurrent;//这是Flow API的主要类。该类封装了Flow API...原创 2019-02-01 14:52:57 · 3812 阅读 · 0 评论 -
Java 8 函数式库 Vavr 学习笔记
文章目录概述引入依赖option元组TupleTry函数式接口集合Collections延迟计算Lazy模式匹配Pattern Matching概述最近接手一个项目,里面使用到了Java 8 函数式库 Vavr ,故而来学习一下。其实很多库都是在java8之前出现的,借鉴了一些新兴语言的特性,比如guava。在java8以后的版本中,提供了很多的函数式编程的特征,已经够用,一些库可以不用了。...原创 2019-07-21 17:36:18 · 1805 阅读 · 0 评论 -
OKhttp3 简单使用
概述okhttp 官网:https://square.github.io/okhttp/HTTP是现代应用网络的方式。这就是我们交换数据和媒体的方式。有效地执行HTTP可以加快您的负载并节省带宽。OkHttp是一个默认有效的HTTP客户端:HTTP / 2支持允许对同一主机的所有请求共享套接字。连接池减少了请求延迟(如果HTTP / 2不可用)。透明GZIP缩小了下载大小。响应缓存...原创 2019-10-05 14:03:32 · 913 阅读 · 0 评论 -
disruptor学习教程(一)helloWord
一、什么是 Disruptor 从功能上来看,Disruptor 是实现了“队列”的功能,而且是一个有界队列。那么它的应用场景自然就是“生产者-消费者”模型的应用场合了。可以拿 JDK 的 BlockingQueue 做一个简单对比,以便更好地认识 Disruptor 是什么。我们知道 BlockingQueue 是一个 FIFO 队列,生产者(Producer)往队列里发布(publish)一项事原创 2016-12-20 12:54:19 · 3666 阅读 · 0 评论 -
java读取生成PDF,iText操作PDF
java读取生成PDF,iText操作PDF原创 2014-01-20 15:36:58 · 3062 阅读 · 0 评论 -
java 常用报表工具 简介
1、JFreeChart http://www.jfree.org/jfreechart/JFreeChart它主要是用来制作各种各样的图表,这些图表包括:饼图、柱状图(普通柱状图以及堆栈柱状图)、线图、区域图、分布图、混合图、甘特图以及一些仪表盘等等。2、JasperReports http://community.jaspersoft.com/project/jas转载 2014-02-16 15:50:39 · 2846 阅读 · 0 评论 -
JAVA使用 java-unrar-0.3.jar 解压rar,并且解决中文乱码
需要引入java-unrar-0.3.jar 和 commons-logging-1.1.1.jar package com.test;import java.io.File;import java.io.FileOutputStream;import java.io.IOException;import de.innosystec.unrar.Archive;import de转载 2014-02-14 14:20:15 · 4117 阅读 · 0 评论 -
eclipse 下搭建 ssh 开发环境
public interface ILoginService { boolean isLogin(String userName,String password); }public interface ILoginService {boolean isLogin(String userName,String password); }创建一个web工程第一步:Struts转载 2014-02-22 11:42:02 · 1544 阅读 · 0 评论 -
使用commons-email-1.3.2.jar包发送邮件
package com.lbl.email;import java.io.File;import java.io.UnsupportedEncodingException;import java.net.MalformedURLException;import java.net.URL;import org.apache.commons.mail.EmailAttachment;i翻译 2014-01-22 15:37:41 · 3459 阅读 · 0 评论 -
Java基于Socket文件传输示例
1.服务器端package sterning;import java.io.BufferedInputStream;import java.io.DataInputStream;import java.io.DataOutputStream;import java.io.File;import java.io.FileInputStream;import java.net.Ser转载 2013-07-26 16:18:06 · 1127 阅读 · 0 评论 -
swing 进度条
import java.awt.Dimension;import java.awt.FlowLayout;import java.awt.event.ActionEvent;import java.awt.event.ActionListener;import java.awt.event.WindowAdapter;import java.awt.event.WindowEvent;转载 2013-06-02 18:28:39 · 1734 阅读 · 0 评论 -
excel工具类 支持2003、2007、2010、2013
excel工具类 支持2003、2007、2010、2013引入包:poi-3.7-20101029.jarpoi-examples-3.7-20101029.jarpoi-ooxml-3.7-20101029.jarpoi-ooxml-schemas-3.7-20101029.jarpoi-scratchpad-3.7-20101029.jar pa原创 2013-05-31 19:24:18 · 1514 阅读 · 0 评论 -
Java定时器
package com;import java.util.Date;import java.util.Scanner;import java.util.Timer;/** * util包中的定时器学习相对比较简单,学习java定时器主要要熟悉两个类,Timer类和TimerTask类。 定时器类Timer在java.util包中。使用时,先实例化,然后使用实例的schedul原创 2013-06-02 18:05:44 · 1431 阅读 · 0 评论 -
java 压缩解压zip文件--使用ant支持中文
package com.test;import java.io.BufferedInputStream;import java.io.BufferedOutputStream;import java.io.File;import java.io.FileInputStream;import java.io.FileOutputStream;import java.io.IOExce转载 2014-02-17 14:35:19 · 1859 阅读 · 0 评论 -
uploadify 3.0 详细使用说明
调用代码: //绑定的界面元素 $("#gallery").uploadify({ 设置参数,参数如下. }); 属性说明:id: jQuery(this).attr('id'),//绑定的input的ID langFile: 'http://www.static-xxx.nu/uploader/uploadifyLang_en.js',//语言包的路径,能转载 2014-02-17 15:10:10 · 1302 阅读 · 0 评论 -
poi 实现下拉框级联选择省市
import java.io.FileOutputStream;import java.io.IOException;import org.apache.poi.hssf.usermodel.DVConstraint;import org.apache.poi.hssf.usermodel.HSSFCell;import org.apache.poi.hssf.usermodel.HSS原创 2014-01-20 09:47:16 · 4339 阅读 · 1 评论 -
java 导出待样式的excel
import java.io.BufferedInputStream;import java.io.FileInputStream;import java.io.FileNotFoundException;import java.io.FileOutputStream;import java.io.IOException;import java.io.OutputStream;impo转载 2014-01-20 09:54:01 · 1543 阅读 · 0 评论 -
poi 大数据导出测试
可以多次写入excel,避免内存溢出 import java.io.File;import java.io.FileInputStream;import java.io.FileOutputStream;import java.util.Iterator;import org.apache.poi.hssf.usermodel.HSSFWorkbook;import org.a原创 2014-01-20 09:57:48 · 1570 阅读 · 0 评论 -
poi工具类
我自己写的简单的POI导出excel工具类。创建excel(2003、2007以后版本)设置单元格格式为文本、日期、数值(保留2位小数等)、大小写转换、设置公式图形操作、锁定单元格、锁定行列、设置数据有效性并给出错误提示、添加批注、添加提示内容、 import java.awt.image.BufferedImage;import java.io.BufferedInp原创 2014-01-20 10:04:38 · 5370 阅读 · 0 评论 -
java线程 之 资源同步(1)
一:/*** 对于要同步的资源管理要谨慎,向本方法中的变量a,在m1方法中加了synchronized使其同步,但在m2方法中没有加该关键字,m2方法是普通方法,所以m2方法不仅可以访问a,还可以对其进行更改值。*/package com.lbl.constantlyupdated;public class MyThread implements Runnable{ pu原创 2014-03-15 14:56:39 · 1236 阅读 · 0 评论 -
eclipse 错误:Setting property 'source' to '项目名' did not find a matching property.
eclipse报了一个错误:Setting property 'source' to 'org.eclipse.jst.jee.server:BBS' did not find a matching property.解决方案:原创 2014-02-17 22:03:56 · 3282 阅读 · 1 评论 -
java 使用Apache ant.jar压缩解压zip--一种简单的实现
package com.test;import java.io.File;import org.apache.tools.ant.Project;import org.apache.tools.ant.taskdefs.Expand;import org.apache.tools.ant.taskdefs.Zip;import org.apache.tools.ant.types.F原创 2014-02-17 14:32:31 · 2824 阅读 · 0 评论 -
Java 使用flexpaper + openoffice + jodconverter + Swftools开发类似百度文库在线阅读
我这里采用的是DocViewer+oppenOffice+swftools实现的,网上说还可以用flexpaper或者用Jacob将文件转换为html文档 未完待续原创 2014-02-16 23:20:10 · 2107 阅读 · 2 评论 -
java socket编程
这里需要两个类:socket服务器端,socket客户端package com;import java.io.BufferedReader;import java.io.IOException;import java.io.InputStreamReader;import java.io.PrintWriter;import java.net.Inet4Address;impor原创 2013-06-02 18:21:58 · 1280 阅读 · 0 评论