![](https://img-blog.csdnimg.cn/20191216155234844.jpg?x-oss-process=image/resize,m_fixed,h_224,w_224)
java
文章平均质量分 62
java
软件求生
这个作者很懒,什么都没留下…
展开
-
Java:注释规范(配合EasyYapi使用)。
Java注释规范(配合EasyYapi使用)转载 2021-01-27 10:29:56 · 4297 阅读 · 1 评论 -
logback:自定义变量获取hostname。
logback:自定义变量获取hostname。转载 2021-01-25 13:53:00 · 3831 阅读 · 0 评论 -
Java:intern()方法.
intern() 方法返回字符串对象的规范化表示形式。转载 2021-01-06 09:25:57 · 183 阅读 · 0 评论 -
java:validate注解做校验。
validate注解做校验。转载 2020-12-01 17:08:35 · 3975 阅读 · 0 评论 -
guava:LoadingCache。
缓存的使用可以大大提高程序的执行效率,但是如果缓存无法及时更新会导致脏读的情况。转载 2020-11-09 13:36:40 · 371 阅读 · 0 评论 -
Java:实现消息队列功能。
使用java实现的线程池 消息队列功能。转载 2020-10-21 16:36:53 · 680 阅读 · 0 评论 -
Java:Random、ThreadLocalRandom、UUID类中的方法应用(随机数)。
Java Random、ThreadLocalRandom、UUID类中的方法应用(随机数)转载 2020-07-30 19:25:58 · 324 阅读 · 0 评论 -
Java:深入理解SPI机制。(约定优于配置)
SPI ,全称为 Service Provider Interface,是一种服务发现机制。它通过在ClassPath路径下的META-INF/services文件夹查找文件,自动加载文件里所定义的类。转载 2020-04-21 11:53:08 · 370 阅读 · 0 评论 -
算法:输出10以内数的阶乘的结果。
用户输入一个10以内的数字,通过运算求出该数字的阶乘原创 2019-11-26 09:28:44 · 2575 阅读 · 0 评论 -
java i++和++i区别。
代码示例public static void main(String[] args) { int i = 0,j = 0; int n =0 , m = 0; j = i++; n = ++m; System.out.println("i++的值为:"+ j); System.out.println("++i的值为...原创 2018-06-25 10:23:02 · 224 阅读 · 1 评论 -
Java访问磁盘文件机制。
我们知道,数据在磁盘中的唯一最小描述就是文件,也就是说上层应用程序只能通过文件来操作磁盘上的数据,文件也是操作系统和磁盘驱动器交互的最小单元。值得注意的是,在Java中通常的File并不代表一个真实存在的文件对象,当你指定一个路径描述符时,他就会返回一个代表这个路径的虚拟对象,这个可能是一个真实存在的文件或者是一个包含多个文件的目录。为何要这样设计呢?因为在大多数情况下,我们并不关心这...转载 2018-07-30 15:37:09 · 1072 阅读 · 0 评论 -
Java中哪些组件需要使用内存。
Java启动后也作为一个进程运行在操作系统中,那么这个进程有哪些部分需要分配内存空间呢?Java堆Java堆是用于存储Java对象的内存区域,堆的大小在JVM启动时就一次向操作系统申请完成,通过-Xmx和-Xms两个选项来控制大小,Xmx表示堆的最大大小,Xms表示初始大小。一旦分配完成,堆的大小就将固定,不能在内存不够时再向操作系统重新申请,同时当内存空闲时也不能将多余的空间交还给操作系...转载 2018-08-09 10:52:20 · 304 阅读 · 0 评论 -
Java:生成随机数。
/** * 随机数 * @author * */public class RandomStringUtils { private static String range = "0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ"; /** * 生成随机数 * @param num 所需长度随机数...原创 2018-11-13 14:28:57 · 170 阅读 · 0 评论 -
java:&、|、^等运算规则。
按位与运算符(&)参加运算的两个数据,按二进制位进行“与”运算。运算规则:0&0=0; 0&1=0; 1&0=0; 1&1=1; 即:两位同时为“1”,结果才为“1”,否则为0例如:3&5 即 0000 0011 & 0000 0101 = 0000 0001 因此,3&5的值得1。...转载 2019-01-05 16:41:36 · 918 阅读 · 0 评论 -
java:获取今天还剩下多少秒。
思路:获取当前时间 获取当前时间的下一天的开始时间 两者相减 public static int getSeconds(){ Calendar curDate = Calendar.getInstance(); Calendar tommorowDate = new GregorianCalendar(curDate .get(Calendar.YEAR), curDa...原创 2019-01-07 15:05:31 · 4471 阅读 · 0 评论 -
Java:HashMap实现原理。
概述HashMap是基于哈希表的Map接口的非同步实现。此实现提供所有可选的映射操作,并允许使用null值和null键。此类不保证映射的顺序,特别是他不保证该顺序恒久不变。数据结构在java编程语言中,最基本的结构就是两种,一个是数组,另外一个是模拟指针(引用),所有的数据结构都可以用这两个基本结构来构造的,HashMap也不例外。HashMap实际上是一个“链表散列”的数据结构,即数...转载 2019-03-11 16:29:55 · 362 阅读 · 1 评论 -
Java:反射中Class.forName和classloader的区别。
Java中Class.forName和classloader都可以用来对类进行加载。 Class.forName除了将类的.class文件加载到jvm中之外,还会对类进行解释,执行类中的static块。 而classloader只干一件事情,就是将.class文件加载到jvm中,不会执行static中的内容,只有在newInstance才会去执行static块。 Class.forName(...转载 2019-03-18 15:28:15 · 217 阅读 · 0 评论 -
Java:NIO?看这一篇就够了!
概述NIO主要有三大核心部分:Channel(通道),Buffer(缓冲区), Selector。传统IO基于字节流和字符流进行操作,而NIO基于Channel和Buffer(缓冲区)进行操作,数据总是从通道读取到缓冲区中,或者从缓冲区写入到通道中。Selector(选择区)用于监听多个通道的事件(比如:连接打开,数据到达)。因此,单个线程可以监听多个数据通道。NIO和传统IO(一下简称I...转载 2019-03-26 12:04:06 · 266 阅读 · 0 评论 -
Java:获取客户端真实IP。
发生的场景:服务器端接收客户端请求的时候,一般需要进行签名验证,客户端IP限定等情况,在进行客户端IP限定的时候,需要首先获取该真实的IP。一般分为两种情况:方式一客户端未经过代理,直接访问服务器端(nginx,squid,haproxy);方式二客户端通过多级代理,最终到达服务器端(nginx,squid,haproxy); 客户端请求信息都包含在HttpServl...转载 2019-05-13 20:12:23 · 337 阅读 · 0 评论 -
Java:RMI与RPC的区别。
RPC 远程过程调用RPC(Remote Procedure Call Protocol)远程过程调用协议,通过网络从远程计算机上请求调用某种服务。一次RPC调用的过程大概有10步:执行客户端调用语句,传送参数 调用本地系统发送网络消息 消息传送到远程主机 服务器得到消息并取得参数 根据调用请求以及参数执行远程过程(服务) 执行过程完毕,将结果返回服务器句柄 服务器句...转载 2019-07-31 09:51:04 · 158 阅读 · 0 评论 -
JAVA8:十大新特性详解。
接口的默认方法Java 8允许我们给接口添加一个非抽象的方法实现,只需要使用 default关键字即可,这个特征又叫做扩展方法,示例如下:interface Formula { double calculate(int a); default double sqrt(int a) { return Math.sqrt(a); }}Formu...转载 2019-08-07 21:47:00 · 214 阅读 · 0 评论 -
java报表JXL和POI打印设置。
java报表JXL和POI打印设置。转载 2017-09-12 21:00:34 · 717 阅读 · 0 评论 -
Java集合类。
Java中的集合类是在是太丰富了,有常用的ArrayList、HashMap,也有不常用的Stack、Queue,有线程安全的Vector、HashTable,也有线程不安全的LinkedList、TreeMap,有阻塞式的ArrayBlockingQueue,也有非阻塞式的PriorityQueue等,整个集合家族非常庞大,而且也是错综复杂,可以划分为以下几类:List 实现Lis...转载 2018-05-30 15:10:39 · 183 阅读 · 0 评论 -
使用关键字volatile时出现非线程安全的原因。
变量在内存中工作的过程如下图所示。由上,我们可以得出以下结论。read和load阶段:从主存复制变量到当前线程工作内存;use和assign阶段:执行代码,改变共享变量值;store和write阶段:用工作内存数据刷新主存对应变量的值。 在多线程环境中,use和assign是多次出现的,但这一操作并不是原子性,也就是在read和load之后,如果主内存count变量发生修改之后,线程工...转载 2018-05-16 15:58:54 · 690 阅读 · 0 评论 -
java 页面url传值中文乱码的解决方法。
中文问题,是在应用中常常遇到的问题。这将涉及到字符解码操作,我们在应用中常常会用new String(fieldType.getBytes("iso-8859-1"), "UTF-8");等类似的方法去解码。但这种方式受具体应用环境限制,往往在应用部署环境发生改变时,还会出现中文乱码。在这里介绍一种解决方法,可以在任何应用部署环境下通用。此方法分两步:1、在客户端用escape(e转载 2018-04-23 15:36:12 · 961 阅读 · 0 评论 -
linux下安装配置play framework。
linux下安装配置play framework。转载 2018-04-18 09:40:51 · 1699 阅读 · 0 评论 -
Java 读取XML文件(DOM)。
Java 读取XML文件(DOM)。转载 2017-11-21 10:40:44 · 479 阅读 · 0 评论 -
Java:构造器,构造代码块,静态代码块的执行顺序。
Java:构造器,构造代码块,静态代码块的执行顺序。转载 2017-11-20 13:54:55 · 274 阅读 · 0 评论 -
sessionID一直变化。
sessionID一直变化。转载 2017-10-16 15:41:53 · 22829 阅读 · 3 评论 -
遍历Map。
遍历Map。转载 2017-08-28 17:42:33 · 311 阅读 · 0 评论 -
java读取各类型的文件。
java读取各类型的文件。转载 2017-09-04 23:30:49 · 1752 阅读 · 0 评论 -
java通过ResultSetMetaData获取数据库的列。
java通过ResultSetMetaData获取数据库的列。转载 2017-09-04 22:54:50 · 8389 阅读 · 4 评论 -
java mysql 数据类型对照。
java mysql 数据类型对照。转载 2017-09-04 09:37:37 · 408 阅读 · 0 评论 -
Java 5种字符串拼接方式性能比较。
Java 5种字符串拼接方式性能比较。转载 2017-06-05 19:49:37 · 1237 阅读 · 1 评论 -
linux配置java环境变量。
解压安装jdk 在shell终端下进入jdk-6u14-linux-i586.bin文件所在目录, 执行命令 ./jdk-6u14-linux-i586.bin 这时会出现一段协议,连继敲回车,当询问是否同意的时候,输入yes,回车。之后会在当前目录下生成一个jdk1.6.0_14目录,你可以将它复制到 任何一个目录下。需要配置的环境变量 1. PATH环境变量。作转载 2018-04-23 15:39:53 · 587 阅读 · 0 评论 -
Java WebService 简单实例。
准备工作(以下为本实例使用工具)1、MyEclipse10.7.12、JDK 1.6.0_22创建服务端1、创建【Web Service Project】,命名为【TheService】。 2、创建【Class】类,命名为【ServiceHello】,位于【com.hyan.service】包下。 3、编写供客户端调用转载 2018-04-23 15:49:29 · 128 阅读 · 0 评论 -
synchronized和volatile比较。
关键字volatile是线程同步的轻量级实现,所以volatile性能肯定比synchronized要好,并且volatile只能修饰于变量,而synchronized可以修饰方法,以及代码块。随着JDK新版本的发布,synchronized关键字在执行效率上得到很大提升,在开发中使用synchronized关键字的比例还是比较大的。多线程访问volatile不会发生阻塞,而synchronize...原创 2018-05-16 15:10:50 · 242 阅读 · 0 评论 -
Java Web开发下载文件,文件名中文乱码解决方案。
fileName = new String(fileName.getBytes("UTF-8"), "ISO-8859-1");这种方式在IE下和Firefox下均可以得到中文文件名的文件。但如果文件名中带有空格,Firefox会从空格处截断文件名,需要在编码之前将文件名中的空格替换成下划线之类的可见字符。fileName = new String(fileName.replace(" ", "_...转载 2018-05-22 20:01:57 · 2503 阅读 · 1 评论 -
Java POI Excel导出文件名中文乱码
在导出前对名称根据浏览器做下处理// 判断浏览器类型,firefox浏览器做特殊处理,否则下载文件名乱码 public static void compatibleFileName(HttpServletRequest request, HttpServletResponse response, String excelname) throws UnsupportedEncodingExcept...转载 2018-05-22 13:50:20 · 7939 阅读 · 1 评论 -
单点登录原理。
单系统登录机制http无状态协议 web应用采用browser/server架构,http作为通信协议。http是无状态协议,浏览器的每一次请求,服务器会独立处理,不与之前或之后的请求产生关联,这个过程用下图说明,三次请求/响应对之间没有任何联系 但这也同时意味着,任何用户都能通过浏览器访问服务器资源,如果想保护服务器的某些资源,必须限制浏览器请求;要限制浏览器请求,必须鉴别浏览器请求,响应合...转载 2018-05-15 18:56:43 · 192 阅读 · 0 评论