
java
文章平均质量分 70
cuit_618
不积跬步无以至千里
展开
-
大数据量的Excel导入和导出
大数据量的Excel导入和导出涉及到的技术poi:使用SXSSFWorkbook,对数据进行分页且批量写入到磁盘(可以是任何outputsteam),减少数据在内存中的存储easyExcel:从磁盘上读取Excel文件,通过监听器的方式,可以读取表头,以及一行一行的数据,当满足一定条件(如1000行),在进行业务逻辑的处理并入库,返回错误数据,并将错误数据回写到Excel中,供用户下载,让用户知道导入失败数据的失败原因。groovy:扩展导入导出标题列配置,基础导入导出配置为一个被ExportEx原创 2021-11-06 22:42:39 · 3177 阅读 · 0 评论 -
redis分布式锁
redis分布式锁概述随着技术快速发展,数据规模增大,分布式系统越来越普及,一个应用往往会部署在多台机器上(多节点),在有些场景中,为了保证数据不重复,要求在同一时刻,同一任务只在一个节点上运行,即保证某一方法同一时刻只能被一个线程执行。在单机环境中,应用是在同一进程下的,只需要保证单进程多线程环境中的线程安全性,通过 JAVA 提供的 volatile、ReentrantLock、synchronized 以及 concurrent 并发包下一些线程安全的类等就可以做到。而在多机部署环境中,不同机器不原创 2021-05-28 22:51:15 · 541 阅读 · 0 评论 -
LCN分布式事务框架学习1
1.概述 tx-lcn 官方地址:https://www.txlcn.org/ tx-lcn Github地址:https://github.com/codingapi/tx-lcn TX-LCN定位于一款事务协调性框架,框架其本身并不操作事务,而是基于对事务的协调从而达到事务一致性的效果。 在一个分布式系统下存在多个模块协调来完成一次业务。那么就存在一次业务...原创 2019-09-03 09:05:34 · 321 阅读 · 0 评论 -
java对象头信息
做java开发几年了,但一直不知道如下问题:1. 一个java对象到底占用了多少内存空间,应该如何计算?2. 为什么在jdk1.6后,synchronized关键字性能有所提高,为什么会提高?并且很多文章中都说synchronized锁有偏向锁、轻量锁、重量锁等状态?3. java对象是在那里设置了指针指向对应的方法区中的元数据的?4. 在jvm垃圾回收时被标记为可回收但还未执行回...原创 2019-09-02 14:27:14 · 13954 阅读 · 13 评论 -
字符集编码
1. 什么是字符编码? 字符(Character)是文字与符号的总称,包括文字、图形符号、数学符号等。一组抽象字符的集合就是字符集(Charset)。 常用到字符集有:ASCII,ISO-8859-1,GB2312,GBK,GB18030,Unicode2. 各种编码集有哪些特点? ASCII: ASCII(American Standard Code f...原创 2019-08-27 13:43:59 · 704 阅读 · 0 评论 -
JDK并发包下相关类说明
https://segmentfault.com/u/niteip/articles?page=3转载 2019-08-21 19:20:52 · 115 阅读 · 0 评论 -
JVM类加载过程
1. JVM类加载过程 1.概述 从类的生命周期而言,一个类包括如下阶段: 加载、验证、准备、初始化和卸载这5个阶段的顺序是确定的,类的加载过程必须按照这种顺序进行,而解析阶段则不一定,它在某些情况下可能在初始化阶段后在开始,因为java支持运行时绑定。 2. 类加载时机 加载(loading)阶段,java虚拟机规范中没有...原创 2019-06-20 15:10:25 · 99736 阅读 · 28 评论 -
ReentrantLock锁源码解析
锁的分类 自旋锁:线程状态及上下文切换消耗系统资源,当访问共享资源的时间短,频繁上下文切换不值得。jvm实现使线程再没有获得锁时,不被挂起,而是执行空循环,循环N次后,如果还没获得锁,则被挂起。 阻塞锁:阻塞锁改变了线程的运行状态,让线程进入阻塞状态进行等待,当获得相应的信号时,才可以进入线程的准备就绪状态,转为就绪状态的所有线程,通过竞争,进入运行状态 ...原创 2019-04-24 19:53:15 · 550 阅读 · 0 评论 -
Java读写锁源码解析
ReentrantReadWriteLock读写锁类结构图:AQS如何用一个int值表示读写锁的2种状态? 在AQS的实现类ReentrantReadWriteLock$Sync中,将32位int类型的state分成2部分,高位的16个2进制位表示读锁,低位的16个2进制位表示写锁。即读锁和写锁的并发最多只能达到2的16次方减去1。 0000000000000000 ...原创 2019-04-27 17:49:12 · 2856 阅读 · 0 评论 -
同步异步、阻塞非阻塞的理解
阻塞和非阻塞:指的是客户端等待消息处理时本身的状态,是挂起还是继续干别的。同步和异步:指的是对于消息结果的获取方式,是客户端主动获取,还是由服务端进行通知或回调。同步阻塞:客户端主动获取结果,并在结果返回前挂起同步非阻塞:客户端主动获取结果,在结果返回前可以干别的事,然后通过定时轮询的方式去获取结果异步阻塞:客户端不主动获取结果,服务端主动通知或者回调前,客户端挂起等待结果(...原创 2019-03-05 16:23:08 · 229 阅读 · 0 评论 -
JVM知识总结
jvm内存结构 jvm相关参数 jvm垃圾回收器原创 2017-06-28 10:28:39 · 557 阅读 · 0 评论 -
java并行程序开发及优化
本文讲述了java JDK提供的线程池、java线程安全的数据结构、java并发控制方法(主要是锁的分类和使用)和锁的优化、无锁的使用等相关知识原创 2017-06-13 23:39:00 · 1045 阅读 · 0 评论 -
Java多线程之interrupt()的深度研究
近期学习Java多线程的中断机制,网上的帖子说得很浅,并没深究其原理。看了Java源码,对Java的中断机制有了略深入的理解,在这篇文章中向感兴趣的网友分享下。这篇文章主要通过一个典型例子对中断机制进行剖析。转载 2017-06-20 00:20:45 · 446 阅读 · 1 评论 -
Java面向对象的理解
对Java面向对象的理解,封装、继承、多态原创 2017-06-18 16:59:06 · 368 阅读 · 0 评论 -
对云计算的理解
什么是云计算? 从提供商的节点而言就是一种按使用量付费的交互模式。 从使用者角度而言就是根据需要向提供商申请购买相关的资源,然后使用互联网来接入运行在远程服务器端购买的资源。 云计算一般包括三个层次,iaas paas saas。 iaas:基础服务层,即相关的存储、计算、网络硬件资源 pass:平台服务层,主要是指在iaas层上提供的运行环境,包括原创 2017-06-18 11:16:17 · 1173 阅读 · 0 评论