2021
01-17
01-17
详解Java中的ReentrantLock锁
ReentrantLock锁ReentrantLock是Java中常用的锁,属于乐观锁类型,多线程并发情况下。能保证共享数据安全性,线程间有序性ReentrantLock通过原子操作和阻塞实现锁原理,一般使用lock获取锁,unlock释放锁,下面说一下锁的基本使用和底层基本实现原理,lock和unlock底层lock的时候可能被其他线程获得所,那么此线程会阻塞自己,关键原理底层用到Unsafe类的API:CAS和park使用java.util.concurrent.locks.ReentrantLock类在多线程环...
继续阅读 >
概述在Excel中,应用条件格式功能可以在很大程度上改进表格的设计和可读性,用户可以指定单个或者多个单元格区域应用一种或者多种条件格式。本篇文章,将通过Java程序示例介绍条件格式的设置方法,设置条件格式时,因不同设置需要,本文分别从以下示例要点来介绍:示例1:1.应用条件格式用于高亮重复、唯一数值2.应用条件格式用于高亮峰值(最高值、最低值)3.应用条件格式用于高亮低于或高于平均值的数值示例2:1.应用单元格...
java服务端单线程示例importjava.io.IOException;importjava.io.InputStream;importjava.io.OutputStream;importjava.net.ServerSocket;importjava.net.Socket;/***Server*/publicclassServer{publicstaticvoidmain(String[]args)throwsIOException{ServerSocketserver=newServerSocket(2580);Socketsocket=server.accept();InputStreamis=socket.getInputStream();OutputStreamou...
之前做过cookie实现记住密码,这次换成session记住密码又做了一遍,有很多收获。本次博客分为两部分。一部分是cookie和session的区别(面试经常被问道);另一部分是sesion实现记住密码,在Jsp页面和Controller页面的代码编写。一、cookie和session区别区别:1.cookie是浏览器端技术;将数据保存到浏览器中,不安全;不可以保存中文保存时编码:URLEncoder.encode();取值时解码:URLDecoder.decode();。2.session是服务器端技术;将...
为了能够在不同的平台支持java的语言,我们需要一种辅助机制进行翻译,所以java虚拟机就诞生了,也就是平时所说的JVM。能够对java语言进行翻译,然后适应于其他的平台。下面窝们就JVM的概念,与其他机制的关系、设置参数带来介绍,然后讲解其中的一个重点知识点。1.概念JVM是java上的一个虚构出来的计算机,是一个位于Java与操作系统之间的中间态。有自己完善的硬件结构,如处理器、堆栈、寄存器等,还具有相应的指令系统。2.JVM、...
前言:上星期做了一个Excel的单元格合并,用的是EasyPoi,我之前合并单元格都是原生的,第一次使用EasyPoi合并也不太熟悉,看着网上自己套用,使用后发现比原生的方便些,贡献一下,也给其他用到合并而且用的是EasyPoi的小伙伴节省下时间。导出模板:坐标:版本号,自己来定,可以去官网查看:EasyPoi官网<!--easypoi导入包--><dependency><groupId>cn.afterturn</groupId><artifactId>easypoi-base</artifactI...
EasyPoi多sheet导出序言:之前一直想开始写博客,都没有时间行动起来,今天终于开始了我的第一篇博客…最近接到一个导出excel功能的需求,该功能主要难点是多sheet页导出合并单元格(跨行、跨列)多表头合并我开始的想法是如果采用poi来实现这个功能,业务逻辑可能会有点复杂,于是我使用了easyPoi——一个soeasy的工具,它的特点就是非常方便,用jQuery的一句来说就是:writeLess,DoMore。话不多说,接下来分享一下我...
在网上虽然看到了方法,但是处理感觉很复杂,我的办法,老实说,是突然试一下试到的,哈哈QWQOK,开始说明如何整的。效果如上图所示代码如下packagecsdn.article;importjavax.swing.*;importjava.awt.*;importjava.awt.event.ActionEvent;importjava.awt.event.ActionListener;publicclassJButtonTextSizeextendsJFrame{publicstaticvoidmain(String[]args){newJButtonTextSize();}JButtonTextSize(){...