![](https://img-blog.csdnimg.cn/20201014180756738.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
Java
文章平均质量分 61
V5放纵丶
这个作者很懒,什么都没留下…
展开
-
关于Integer的一个小知识
关于Integer的一个小知识观前提示:本文所使用的IDEA版本为ultimate 2019.1,JDK版本为1.8.0_141。话不多说,直接上问题,以下的代码将会输出什么。 public static void main(String[] args) { Integer i1 = 100; Integer i2 = 100; Integer i3 = 200; Integer i4 = 200; System.out原创 2021-03-04 21:14:09 · 372 阅读 · 1 评论 -
AtomicInteger讲解
AtomicInteger讲解1.简介2.例子3.AtomicInteger自带方法4.分析incrementAndGet()方法观前提示:本文所使用的Eclipse版本为Photon Release (4.8.0)JDK版本为1.8.0_141。1.简介AtomicInteger保证了可见性、有序性和原子性,属于非阻塞同步,因此适用于高并发。2.例子使用AtomicInteger最经典的场景是自增操作(非原子性操作)。假设开启10个线程,每个线程都对NUM进行自增操作(10次),预期想得到的原创 2021-02-25 16:32:04 · 807 阅读 · 2 评论 -
JS 十进制与十六进制互转
JS 十进制与十六进制互转1.十进制转十六进制2.十六进制转十进制1.十进制转十六进制parseInt(num, 16);2.十六进制转十进制num.toString(16)原创 2021-02-03 15:26:34 · 805 阅读 · 1 评论 -
IDEA 使用外部Tomcat运行JavaWeb项目Js乱码解决
IDEA 使用外部Tomcat运行JavaWeb项目Js乱码解决1.IDEA 使用外部Tomcat运行JavaWeb项目Js乱码1.1 修改IDEA配置文件1.2 设置全局和项目编码1.3 配置外部Tomcat1.4 Maven项目配置2.Tomcat运行Maven打war包Js乱码2.1 配置server.xml2.2 配置catalina.bat启动文件2.3 配置注册表(此步解决cmd控制台输出乱码)3.可能出现的问题3.1.配置完第2点后,IDEA启动不了项目观前提示:本文所使用的IDEA版本为原创 2020-11-18 12:01:09 · 1431 阅读 · 1 评论 -
IDEA打可运行的jar包
IDEA打可运行的jar包1.通过Project Structure可能遇到的问题1.Error: Invalid or corrupt jarfile xxx.jar观前提示:本文所使用的IDEA版本为ultimate 2019.1,JDK版本为1.8.0_141,Tomcat版本为9.0.12。这里拿一个简单的maven项目做例子1.通过Project StructureProject Settions -> Artifacts -> JAR ->From modules w原创 2020-10-25 14:11:15 · 312 阅读 · 0 评论 -
算法复杂度详解(O(1),O(n),O(logn)等)
算法复杂度详解(O(1),O(n),O(logn)等)观前提示:本文所使用的IDEA版本为ultimate 2019.1,JDK版本为1.8.0_141。原创 2020-10-13 18:27:48 · 910 阅读 · 1 评论 -
详解Java8新特性
详解Java8新特性1.简介2. 新特性2.1 Lambda表达式2.1.1 语法2.1.2 重要特征2.1.3 例子2.1.4 注意2.2 方法引用2.2.1 语法2.2.2 例子3.函数式接口观前提示:本文所使用的IDEA版本为ultimate 2019.1,JDK版本为1.8.0_141。1.简介Java8,又称jdk1.8,是Oracle公司于2014年03月18日发布,名称为Spider。2. 新特性Lambda表达式Lambda 允许把函数作为一个方法的参数(函数作为参数传递到原创 2020-10-10 17:08:25 · 179 阅读 · 0 评论 -
详解Java 序列化与反序列化
Java 序列化与反序列化1.基本概念1.1 定义观前提示:本文所使用的Eclipse版本为Photon Release (4.8.0),IDEA版本为ultimate 2019.1,JDK版本为1.8.0_141,Tomcat版本为9.0.12。1.基本概念1.1 定义序列化反序列化...原创 2020-09-25 17:59:31 · 180 阅读 · 0 评论 -
Java 简单的时间工具类
Java 简单的时间工具类观前提示:本文所使用的IDEA版本为ultimate 2019.1,JDK版本为1.8.0_141。这是自己写的一个简单的时间工具类,包括获取当前时间的后n时间(年/月/日…)转化为UTC时间获取当前月最后一天获取当前月天数获取当前年天数格式化时间话不多说,直接上代码。package testDate;import java.text.SimpleDateFormat;import java.util.Calendar;im原创 2020-09-21 16:23:39 · 196 阅读 · 1 评论 -
Java实现JSON字符串与对象相互转换
Java实现JSON字符串与对象相互转换1. Jackon ObjectMapper观前提示:本文所使用的IDEA版本为ultimate 2019.1,JDK版本为1.8.0_141。1. Jackon ObjectMapper引用相关jar包 <dependency> <groupId>com.fasterxml.jackson.core</groupId> <artifactId>jackson-annotations&l原创 2020-09-16 16:26:33 · 506 阅读 · 0 评论 -
Java获取当前操作方法名
Java获取当前操作方法名观前提示:本文所使用的IDEA版本为ultimate 2019.1,JDK版本为1.8.0_141。Thread.currentThread().getStackTrace()[1]是你当前方法执行堆栈Thread.currentThread().getStackTrace()[2]就是上一级的方法堆栈代码如下package testMethod;public class Test { public static void main(String[] arg原创 2020-08-10 10:36:37 · 281 阅读 · 0 评论 -
Java保留两位小数
Java保留两位小数观前提示:本文所使用的IDEA版本为ultimate 2019.1,JDK版本为1.8.0_141。本文提供四种方式,直接上代码package testDecimal;import java.math.BigDecimal;import java.text.DecimalFormat;import java.text.NumberFormat;public class Test { public static void main(String[] args)原创 2020-08-07 18:13:48 · 372 阅读 · 0 评论 -
Lombok介绍及使用
Lombok使用介绍1.简介2.IDEA中使用2.1 引入依赖包2.2 IDEA中加载Lombok插件2.3 常用注解3 简单例子3.1 例13.2 例2观前提示:IDEA版本为ultimate 2019.1,JDK版本为1.8.0_141。1.简介Lombok项目是一个Java库,它会自动插入编辑器和构建工具中,Lombok提供了一组有用的注释,用来消除Java类中的大量样板代码。仅五个字符(@Data)就可以替换数百行代码从而产生干净,简洁且易于维护的Java类。官网地址点我2.IDEA中原创 2020-07-20 16:50:46 · 924 阅读 · 0 评论 -
IDEA安装阿里代码规范检查插件
IDEA安装阿里代码规范检查插件1.安装插件2.下载本地zip包插件并安装3.代码检查观前提示:本文所使用的IDEA版本为ultimate 2019.1。近来,公司要求代码规范检查,自己想提前自检一遍,这时,阿里代码规范检查插件便是不二之选。接下来,便是如何安装阿里代码规范检查插件的步骤讲解。1.安装插件File->Settings…选择Plugins->Maketplace->搜索框输入Alibaba->找到Alibaba Java Coding Guideline原创 2020-06-29 15:54:01 · 2434 阅读 · 0 评论 -
Java Web安全框架Shiro
Java Web安全框架Shiro 相关文章链接:[ 观前提示:本文所使用的Eclipse版本为Photon Release (4.8.0),IDEA版本为ultimate 2019.1,JDK版本为1.8.0_141,Tomcat版本为9.0.12。原创 2020-06-28 22:23:59 · 351 阅读 · 0 评论 -
Java assert断言用法
Java assert断言用法1.简介2.用法3.例子4.总结观前提示:本文所使用的IDEA版本为ultimate 2019.1,JDK版本为1.8.0_141。1.简介编写代码时,我们总是会做出一些假设,断言就是用于在代码中捕捉这些假设,可以将断言看作是异常处理的一种高级形式。断言表示为一些布尔表达式,程序员相信在程序中的某个特定点该表达式值为真。可以在任何时候启用和禁用断言验证,因此可以在测试时启用断言,而在部署时禁用断言。同样,程序投入运行后,最终用户在遇到问题时可以重新启用断言。2.用原创 2020-06-28 14:54:49 · 531 阅读 · 0 评论 -
Eclipse自定义注释
Eclipse自定义注释模板1.文件(Flies)注释2.类型(Types)注释3.字段(Fields)注释4.构造函数(Constructors)注释5.方法(Methods)注释6.覆盖方法(Overriding Methods)注释7.代表方法(Delegate Methods)注释8.Getter方法注释9.Setter方法注释观前提示:本文所使用的Eclipse版本为Photon Release (4.8.0)。在使用Eclipse过程中,我们经常会使用到注释(类注释,方法注释……),但是每原创 2020-06-22 11:34:33 · 432 阅读 · 0 评论 -
spring BeanUtils、cglib BeanCopier、apache BeanUtils PropertyUtils Bean复制性能对比
spring BeanUtils、apache BeanUtils、cglib BeanCop等Bean复制性能对比 相关文章链接:[ 观前提示:本文所使用的Eclipse版本为Photon Release (4.8.0),JDK版本为1.6.0_45。原创 2020-06-18 21:33:27 · 571 阅读 · 0 评论 -
Java读取Properties文件(Properties类和ResourceBundle类读取)
Java读取Property文件观前提示:本文所使用的Eclipse版本为Photon Release (4.8.0),JDK版本为1.8.0_141。这里我提供了Properties类和ResourceBundle类两种方法读取propery文件目录结果如下配置文件config.propertiesname=zhangsanage=18测试类Test.javapackag...原创 2020-04-08 18:02:50 · 343 阅读 · 0 评论 -
Eclipse与IDEA快捷键(待完善)
Eclipse与IDEA快捷键(待完善)1.Eclipse2.IDEA2.1 Ctrl + ?2.2 Alt + ?2.3 Ctrl + Shift + Alt + ?1.Eclipse2.IDEA2.1 Ctrl + ?Ctrl +F12:查看类中所有方法。Ctrl + X:剪切整行(未选择任何代码时),剪切选中部分。Ctrl + Z:代码操作回退一步。2.2 Alt + ?Al...原创 2020-03-24 11:09:59 · 136 阅读 · 0 评论 -
详解JVM(一)
详解JVM(一)1.简介2.运行时数据区域2.1 程序计数器2.2 Java虚拟机栈2.3 本地方法栈2.4 Java堆2.5 方法区2.6 运行时常量池2.7 直接内存观前提示:本文参考周志明的《深入理解Java虚拟机》。1.简介JVM是Java Virtual Machine(Java虚拟机)的缩写,JVM是一种用于计算设备的规范,它是一个虚构出来的计算机,是通过在实际的计算机上仿真...原创 2020-03-08 22:32:07 · 140 阅读 · 0 评论 -
详解基于JWT的token认证(Java实现)
详解基于JWT的token认证(Java实现)1.简介2.JWT2.1 header2.2 payload2.3 signature3.使用4.例子观前提示:本文所使用的IDEA版本为ultimate 2019.1,JDK版本为1.8.0_141。1.简介在计算机身份认证中是令牌(临时)的意思,token其实说的更通俗点可以叫暗号,在一些数据传输之前,要先进行暗号的核对,不同的暗号被授权不...原创 2020-03-04 15:26:21 · 2677 阅读 · 3 评论 -
java抽象类与接口详解
java抽象类与接口详解1.定义1.1 抽象类1.2 接口2.特点2.1 抽象类2.2 接口3.区别观前提示:本文所使用的IDEA版本为ultimate 2019.1,JDK版本为1.8.0_141。1.定义1.1 抽象类在java中,含有抽象方法的类称为抽象类,同样不能生成对象。1.2 接口在JAVA编程语言中是一个抽象类型,是抽象方法的集合,接口通常以interface来声明。一...原创 2019-12-19 22:33:41 · 112 阅读 · 0 评论 -
java+zxing生成带logo的二维码
java+zxing生成带logo的二维码观前提示:本文所使用的IDEA版本为ultimate 2019.1,JDK版本为1.8.0_141。本文所用的是zxing包生成的二维码,为Maven管理的java项目,直接上代码。pom.xml 引用部分代码<dependency> <groupId>com.google.zxing</groupId&...原创 2019-12-18 16:10:51 · 448 阅读 · 0 评论 -
清理Maven库中垃圾文件
清理Maven库中垃圾文件 相关文章链接:[ 观前提示:本文所使用的IDEA版本为ultimate 2019.1,JDK版本为1.8.0_141。在配置pom.xml文件时,可能会因为自己的错误操作或者是导入错误的maven jar包的版本导致生成垃圾文件,这里,自己写的一个工具类来清理这些垃圾文件。package cleanMavenRepository;import java....原创 2019-12-17 15:02:17 · 915 阅读 · 0 评论 -
java值传递和引用传递(附实例)
java值传递和引用传递1.数据类型1.1 基本数据类型1.2 引用数据类型2.形参与实参观前提示:本文所使用的IDEA版本为ultimate 2019.1,JDK版本为1.8.0_141。1.数据类型1.1 基本数据类型基本数据类型包括数值型(整数型和浮点型),字符型和布尔型整数型:byte,short,int,long浮点型:float,double字符型:char布尔型:...原创 2019-12-16 22:46:05 · 1946 阅读 · 1 评论 -
Eclipse与IDEA创建一个Maven的Java项目
Eclipse与Idea创建一个Maven的Java项目1.Eclipse1.1 Eclipse下配置Maven1.2 新建一个Maven项目1.3 选择Maven项目的原型1.3 填写Maven项目相关参数上一篇文章:Maven安装及配置1.Eclipse1.1 Eclipse下配置Maven详细配置可参考:Maven安装及配置1.2 新建一个Maven项目File->New-...原创 2019-08-21 22:38:30 · 843 阅读 · 0 评论 -
WebService简介
WebService简介1.概述Web service是一个平台独立的,低耦合的,自包含的、基于可编程的web的应用程序,可使用开放的XML(标准通用标记语言下的一个子集)标准来描述、发布、发现、协调和配置这些应用程序,用于开发分布式的互操作的应用程序。Web Service技术, 能使得运行在不同机器上的不同应用无须借助附加的、专门的第三方软件或硬件, 就可相互交换数据或集成。依据Web ...原创 2019-10-09 14:17:56 · 229 阅读 · 1 评论 -
sigar获取cpu,硬盘,内存,操作系统等信息
sigar获取cpu,硬盘,内存,操作系统等信息所需的jar包:hyperic-sigar-1.6.4简介Sigar是Hyperic-hq产品的基础包,是Hyperic HQ主要的数据收集组件。它用来从许多平台收集系统和处理信息。这些平台包括:Linux, Windows, Solaris, AIX, HP-UX, FreeBSD and Mac OSX。Sigar有C,C#,Java...原创 2019-06-19 17:45:24 · 366 阅读 · 0 评论 -
java元注解
java元注解补充:1.@Retention:Retention注解有一个属性value,是RetentionPolicy的枚举类型,这个枚举决定了Retention注解应该如何去保持,RetentionPolicy有3个值:CLASS、RUNTIME、SOURCE。按生命周期来划分可分为3类:RetentionPolicy.SOURCE:注解只保留在源文件,当Java文件编译成cla...原创 2019-10-29 14:56:33 · 204 阅读 · 0 评论 -
Java开发的23种设计模式详解(创建型模式)
1.Java开发的23种设计模式详解(创建型模式)(待完善)原创 2019-04-28 23:10:15 · 242 阅读 · 0 评论 -
Java开发的23种设计模式浅谈
Java开发的23种设计模式(待完善)1.简介设计模式(Design Pattern)是一套被反复使用、多数人知晓的、经过分类的、代码设计经验的总结。使用设计模式的目的:为了代码可重用性、让代码更容易被他人理解、保证代码可靠性。 设计模式使代码编写真正工程化;设计模式是软件工程的基石脉络,如同大厦的结构一样。2.设计原则2.1 单一职责原则(Single Responsiblity Pr...原创 2019-04-28 14:44:59 · 192 阅读 · 0 评论 -
数据库连接池C3P0
数据库连接池C3P0C3P0是一个开源的JDBC连接池,它实现了数据源和JNDI绑定,支持JDBC3规范和JDBC2的标准扩展。目前使用它的开源项目有Hibernate,Spring等。c3p0与dbcp区别dbcp没有自动回收空闲连接的功能c3p0有自动回收空闲连接功能需要的jar包:https://download.csdn.net/download/weixin_43611145/...原创 2019-02-15 10:12:13 · 287 阅读 · 0 评论 -
数据库裸JDBC
裸JDBCJDBC(Java DataBase Connectivity,java数据库连接)是一种用于执行SQL语句的Java API,可以为多种关系数据库提供统一访问,它由一组用Java语言编写的类和接口组成。JDBC提供了一种基准,据此可以构建更高级的工具和接口,使数据库开发人员能够编写数据库应用程序,同时,JDBC也是个商标名。数据库连接池C3P0链接:https://blog.csd...原创 2019-02-15 10:41:55 · 266 阅读 · 0 评论 -
需要的jar包
需要的jar包jar包下载链接jar包中包含有需要的小伙伴可选择下载原创 2019-04-09 11:17:59 · 961 阅读 · 0 评论 -
关于a=a++的一个小陷阱
关于a=a++的一个小陷阱看以下代码public static void main(String[] args) { int a = 9; a = a++; System.out.println("a=" + a);}相信很多人能不假思索的回答控制台打印a=10,那么你就落入陷阱了,控制台时间输出a=9。为什么呢?a = a++ 是一个陷阱代码,跟a++的具体实现有关,该代码实...原创 2019-02-13 14:04:26 · 135 阅读 · 0 评论 -
CentOS 6.8安装JDK和Tomcat
CentOS6.8安装JDK和Tomcat1.安装JDK1.1 下载JDK官网地址:https://www.oracle.com/technetwork/java/javase/downloads/index.htmlCSDN下载链接:https://download.csdn.net/download/weixin_43611145/109341631.2 以root用户登录linux...原创 2019-01-23 16:06:20 · 208 阅读 · 0 评论 -
Java解压zip文件(zip4j)
Java解压zip文件(zip4j)需要的jar包:https://download.csdn.net/download/weixin_43611145/10941990代码:import java.io.File;import net.lingala.zip4j.core.ZipFile;import net.lingala.zip4j.exception.ZipException;...原创 2019-01-28 17:46:47 · 506 阅读 · 0 评论 -
Java IO流输出文本
Java IO流输出文本使用FileWrite代码import java.io.File;import java.io.FileWriter;import java.io.IOException;public class Test { public static void main(String[] args) { String path = "D:\\test"; St...原创 2019-01-15 14:44:46 · 708 阅读 · 0 评论 -
Java开发的23种设计模式详解(结构型模式)
Java开发的23种设计模式详解(结构型模式)(待完善)原创 2019-04-28 21:50:27 · 259 阅读 · 0 评论