java
文章平均质量分 91
意亦逸
这个作者很懒,什么都没留下…
展开
-
jdk1.8特性
jdk1.8新特性原创 2021-02-24 21:10:39 · 194 阅读 · 0 评论 -
分布式id生成方法
分布式id生成方法1. 数据库自增长序列或字段2. UUID3. Redis生成ID4. snowflake算法5. zookeeper生成唯一ID6. MongoDB的ObjectId1. 数据库自增长序列或字段优点:此方法使用数据库原有的功能,相对简单能够保证唯一性,能够保证递增性id 之间的步长是固定且可自定义的缺点:不同数据库语法和实现不同,数据库迁移的时候或多数据库版本支持的时候需要处理。在单个数据库或读写分离或一主多从的情况下,只有一个主库可以生成。有单点故障的风险原创 2020-09-23 09:26:40 · 134 阅读 · 0 评论 -
java (二)多线程与锁
java多线程java多线程1. JAVA 线程实现/创建方式2.线程的线程生命周期(状态)3.多线程常用的方法4.线程切换5. 4种线程池JAVA 锁锁的分类java多线程1. JAVA 线程实现/创建方式2.线程的线程生命周期(状态)新建状态( NEW)3.多线程常用的方法4.线程切换5. 4种线程池JAVA 锁锁的分类...原创 2020-03-20 21:48:45 · 227 阅读 · 0 评论 -
java (一)java基础
java 基础一.java 基础1. JAVA 中的几种基本数据类型是什么,各自占用多少字节int 4字节,double 8字节,boolean (理论上占用1bit,1/8字节,实际处理按1byte处理),byte 1字节,char 2字节, short 2字节,long 8字节,float 4字节2. 类的实例化顺序a.父类静态成员和静态初始化块 ,按在代码中出现的顺序依次执行b.........原创 2020-03-14 15:39:34 · 282 阅读 · 1 评论 -
初涉 JVM
JVMJVM的概念JVM的生命周期JVM体系结构1、class 类文件2、 类加载器子系统2.1、 类加载3、 执行引擎3.1、 运行时数据区JVM的概念JVM(虚拟机):指以软件的方式模拟具有完整硬件系统功能、运行在一个完全隔离环境中的完整计算机系统 ,是物理机的软件实现。jvm和VMware,Virtual Box等虚拟机一样,都是运行在操作系统之上的计算机系统。JVM执行类文件的加载............原创 2020-03-13 23:47:35 · 554 阅读 · 0 评论 -
Session cookie token
token Session cookie原创 2020-02-20 13:49:14 · 344 阅读 · 0 评论 -
Spirng cache
Spirng cache ,redis,ehcache原创 2020-02-15 15:02:40 · 223 阅读 · 0 评论 -
初涉socket(java)
初涉socket原创 2020-02-01 20:55:05 · 261 阅读 · 0 评论 -
日志框架学习2
1.slf4j 源码分析import org.slf4j.Logger;import org.slf4j.LoggerFactory;private Logger log = LoggerFactory.getLogger(this.getClass());1.1 getLogger方法解析 public static Logger getLogger(Class<?> c...原创 2019-01-05 16:15:57 · 156 阅读 · 0 评论 -
日志框架学习
1.commons logging 源码分析import org.apache.commons.logging.Log;import org.apache.commons.logging.LogFactory;private Log loger = LogFactory.getLog(this.getClass());1.1getLog()方法的实现如下: /** * Conven...原创 2018-12-31 16:32:10 · 198 阅读 · 0 评论 -
RunTime.getRuntime().exec()
java在企业级项目开发中,无论是强制性的功能需要,还是为了简便java的实现,需要调用服务器命令脚本来执行。在java中,RunTime.getRuntime().exec()就实现了这个功能。用法: public Process exec(String command)-----在单独的进程中执行指定的字符串命令。 public Process exec(Strin...原创 2018-07-14 14:50:57 · 769 阅读 · 0 评论 -
java杂记
toArraypublic static void main(String[] args) { List<String> list1 = new ArrayList<>(); list1.add("1"); Object[] s1 = list1.toArray(); System.out.println...原创 2018-07-14 14:50:22 · 119 阅读 · 0 评论 -
构造型模式
构建者模式原创 2017-11-25 21:20:09 · 982 阅读 · 0 评论 -
Java中的Object、T(泛型)、?区别
Object范围非常广,而T从一开始就会限定这个类型(包括它可以限定类型为Object)。 Object由于它是所有类的父类,所以会强制类型转换,而T从一开始在编码时(注意是在写代码时)就限定了某种具体类型,所以它不用强制类型转换。(之所以要强调在写代码时是因为泛型在虚拟机中会被JVM擦除掉它的具体类型信息,这点可参考泛型,在这里不做引申)。个人理解 object 即自然数而T代表自然数n原创 2017-03-03 16:11:22 · 4979 阅读 · 0 评论 -
java 反射
Method M= Class.getMethod("MN", class); Object obj = M.invoke(Object, parm);class 返回类型 MN 方法名 M 方法对象 Object 方法MN 所在对象 parm MN 的参数反射getMethod()调用类方法时,发生 NoSuchMethodException异常,后来上网发现getMethod()调用公转载 2017-03-03 10:31:36 · 222 阅读 · 0 评论 -
java InputStream,String,File byte相互转化
1. String --> InputStreamInputStream String2InputStream(String str){ ByteArrayInputStream stream = new ByteArrayInputStream(str.getBytes()); return stream;}2. InputStream --> StringString inpu转载 2017-03-03 17:39:05 · 3058 阅读 · 0 评论 -
java 中 excel生成并文件下载保存到本地
servlet类 package com.dragon.action;import Java.io.IOException;import java.io.OutputStream;import javax.servlet.ServletException;import javax.servlet.http.HttpServlet;import javax.servlet.http.Htt转载 2017-03-03 17:48:43 · 9649 阅读 · 0 评论 -
js杂记
这篇文章主要介绍了JS数组合并push与concat区别,结合实例形式分析了JavaScript中针对数组合并操作使用push与concat的区别,需要的朋友可以参考下var arr = [];arr.push(1);arr.push([2, 3]);arr.push(4, 5);arr = arr.concat(6);arr = arr.concat([7, 8]);arr = arr转载 2017-03-03 10:35:19 · 199 阅读 · 0 评论 -
深度解析 Java 内存原型
一、Java 虚拟机内存原型 寄存器:我们在程序中无法控制。 栈:存放基本类型的数据和对象的引用,但对象本身不存放在栈中,而是存放在堆中。 堆:存放用 new 产生的数据。 静态域:存放在对象中用 static 定义的静态成员。 常量池:存放常量。 非 RAM 存储:硬盘等永久存储空间。 二、常量池(constant pool ) 常量池指的是在编译期被确定,并被保存在已编译的转载 2017-03-31 23:09:40 · 200 阅读 · 0 评论 -
jar 程序的运行
Java应用程序jar文件可以由 JVM(Java虚拟机)直接执行,只要操作系统安装了JVM便可以运行作为Java应用程序的jar文件。 注意:运行的jar程序要是“Runnable JAR file”文件,即在eclipse中“Export”时选择如下图中的方式导出(jar文件其实也可以,但复杂的程序需要自己修改部分东西才能运行) 1.首先需要安装jdk(在cmd 窗口下java -versi转载 2017-09-11 17:16:46 · 2123 阅读 · 0 评论 -
java 设计模式-接口型模式
接口型模式接口与抽象类的区别: 一个类可以实现(implements)任意多个接口,但只能继承(extend)一个抽象类。一个抽象类可有非抽象方法,可以定义构造器,接口的所有方法都是抽象的。 接口只能声明static final 常量,因为一般成员变量无法实例化。抽象类的方法可以是private public protected 或者默认的package接口的方法都是public。适配器模式类适转载 2017-06-05 18:31:59 · 1044 阅读 · 0 评论 -
java 小数精度相关
最近在用double 加减乘除时发现存在丢失精度的情况(js vb 也存在这个情况) 具体原因与二进制表示有关 http://www.cnblogs.com/yewsky/articles/1864934.htmlint a = 3; double b = 0.03; double c = 0.03; double d = a + b + c原创 2017-09-01 16:50:49 · 261 阅读 · 0 评论 -
java 设计模式-职责型模式
单例模式单例模式只允许一个类存在一个实例 选择创建实例的方法 1.启动时加载(即时不使用到这个也要加载) 其他所有使用的地方都是用这个实例 2.第一次使用使用时加载 在多线程中存在问题,需要使用双重加锁机制来保证实例的唯一。 3.双重加锁机制/** * 单例双重加锁Demo * */public class DoubleCheckLock { private stati原创 2017-10-24 11:18:51 · 331 阅读 · 0 评论 -
多线程Callable与Future的介绍
Callable与 Future 两功能是Java在后续版本中为了适应多并法才加入的,Callable是类似于Runnable的接口,实现Callable接口的类和实现Runnable的类都是可被其他线程执行的任务。1.Callable和Runnable的区别如下:I Callable定义的方法是call,而Runnable定义的方法是run。II Callable的call方法可以有返回转载 2017-03-03 10:51:01 · 1019 阅读 · 0 评论