
Java_SE
文章平均质量分 88
蚩尤后裔-汪茂雄
朝为田舍郎,暮登天 子堂;将相本无种,男儿当自强。
展开
-
AtomicInteger、AtomicLong、AtomicBoolean 原子处理类
目录递归查询·需求分析递归查询·数据准备递归查询·需求分析递归查询·需求分析Oracle 有自带的函数 start with 可以轻松实现递归查询,而 Mysql 则需要特殊处理才能实现相同的效果。递归查询·数据准备-- Table structure for regionDROP TABLE IF EXISTS `region`;CREATE TABLE `region` ( `id` int(11) NOT NULL AUTO_INCREMENT COMME.原创 2020-09-06 11:41:02 · 231 阅读 · 1 评论 -
Java SE 基础:继承、封装、多态、final、static、abstract、switch,链式编程
目录面向对象基本特征四大访问作用域final(终态) 关键字abstract(抽象)关键字static(静态)关键字面向对象基本特征1)继承A、继承是从已有类(接口)得到继承信息创建新类(接口)的过程。B、提供继承信息的类被称为父类(超类、基类);得到继承信息的类被称为子类(派生类)。C、派生类可以从它的基类那里继承public、protexted修饰的方.........原创 2018-06-06 08:35:42 · 1143 阅读 · 0 评论 -
Java 队列 Queue 使用说明
目录BlockingQueue 概述四种操作形式7 个阻塞队列生产者-消费者BlockingQueue 概述1、java.util.concurrent.BlockingQueue 阻塞队列是 JDK 1.5 新增的接口,它提供了不同功能的 7 个实现类(JDK7),也就是提供了 7 个不同的阻塞队列。2、BlockingQueue 提供了线程安全的队列访问方式,是一个...原创 2018-06-14 17:00:31 · 745 阅读 · 0 评论 -
Java 线程基础
目录什么是线程?线程与进程的区别?Java 中如何实现线程?用 Runnable 还是 Thread?Thread 中 start() 与 run() 方法的区别?Runnable 和 Callable 的区别?Java 中如何结束一个线程?线程运行时发生异常会怎样?两个线程间如何共享数据?如何给线程起名称?什么是线程?1、线程是操作系统能够进行运...原创 2018-06-11 13:10:58 · 1160 阅读 · 1 评论 -
Java SE 基础:Collections、Arrays、Objects、Comparator、Iterator、Iterable、instanceof
1、java.util.Collections 类由静态方法组成,它包含对集合进行操作的多种算法,如果提供的集合或类对象为 null,则此类的方法都抛出一个 NullPointerException 。2、从 Jdk 1.2 版本开始有 Collections 。Modifier and Type Field and Description static List EMPTY_LIST 空列表(不可变) static Map EMPTY_MAP 空Map(不可变) .原创 2021-01-05 14:45:27 · 1260 阅读 · 0 评论 -
Pinyin4j 汉字转拼音使用教程
目录pinyin4j 概述与下载pinyin4j 快速启动pinyin4j 概述与下载1、pinyin4j 是一个开源的流行 java库,用来处理中文转换成拼音,拼音输出格式可定制。官网:http://pinyin4j.sourceforge.net在线文档:http://pinyin4j.sourceforge.net/pinyin4j-doc二进制包下载地址:https://sourceforge.net/projects/pinyin4j/files/Maven 依赖:ht原创 2020-07-06 19:29:30 · 4649 阅读 · 0 评论 -
Java 加密扩展(JCE)框架 之 Cipher 加密与解密
Cipher 密码概述1、javax.crypto.Cipher 类提供加密和解密的功能,它构成了Java加密扩展(JCE)框架的核心。2、Cipher 的 getInstance(String transformation) 方法可以获取实例,参数 transformation 表示转换名称,包括:加密算法/反馈模式/填充方案。加密算法是必选项,反馈模式与填充方案可以不写使用默认值。如:Cipher cipher = Cipher.getInstance("AES");Cipher c =原创 2020-05-18 20:29:59 · 23840 阅读 · 5 评论 -
Java SE 正则表达式 API Pattern 与 Matcher
目录常用正则表达式网页日期提取常用正则表达式1、使用 API:java.util.regex.Matcher、java.util.regex.Pattern;只能输入数字:"^[0-9]*$" String patternStr1 = "^\\d+$"; Pattern pattern1 = Pattern.compile(patternStr1); Stri...原创 2018-07-17 10:00:10 · 2466 阅读 · 1 评论 -
Java 异常 (Exception) 剖析 与 用户自定义异常、try-with-source
目录异常(Exception)概述异常处理机制Throw 抛出异常、Throws 声明异常用户自定义异常分层异常处理规约异常(Exception)概述1、在使用计算机语言进行项目开发的过程中,即使程序员把代码写得尽善尽美,在系统的运行过程中仍然会遇到一些问题,因为很多问题不是靠代码能够避免的,比如:客户输入数据的格式,读取文件是否存在,网络是否始终保持通畅等等。2、...原创 2020-11-22 19:17:49 · 3650 阅读 · 1 评论 -
Java 原生 Base64 编解码、Md5、SHA-1、SHA-256 加密摘要算法、AES、DES、RSA 加解密
目录Md5 与 Base64 加密java.lang.SystemMd5 与 Base64 加密package com.lct.test;import sun.misc.BASE64Decoder;import sun.misc.BASE64Encoder;import java.io.IOException;import java.io.UnsupportedEnc...原创 2018-11-09 09:11:47 · 4346 阅读 · 1 评论 -
URLEncoder 、URLDecoder 对 URL 编解码,HttpURLConnection 文件下载
目录URLEncoder 编码URLDecoder 解码编码示例解决空格问题URLEncoder 编码1、public class URLEncoder extends Object :HTML 格式编码的实用工具类。2、该类包含了将 String 转换为 application/x-www-form-urlencoded MIME 格式的静态方法。3、对 St...原创 2018-07-01 13:58:52 · 10575 阅读 · 1 评论 -
Java 枚举(enum)剖析
目录Java 枚举(enum)概述枚举常量属性与方法枚举参数实现接口抽象方法Java 枚举(enum)概述1、Java JDK 1.5 新增的 enum 关键词,可以定义枚举类,如 public enum WeekEnum { }.2、使用 enum 定义后的枚举类在编译后默认继承 java.lang.Enum 类,而不是普通的继承 Object 类。由于 Ja...原创 2019-07-12 20:27:56 · 7993 阅读 · 1 评论 -
Java SE 随机数生成器 Random、DecimalFormat 与 NumberFormat 数值格式化
目录1、尽量指定类、方法的 final 修饰符2、尽量重用对象3、尽可能使用局部变量4、及时关闭流5、尽量减少对变量的重复计算6、尽量采用懒加载的策略,即在需要的时候才创建7、慎用异常8、不要在循环中使用try…catch…,应该把其放在最外层9、如果能估计到待添加的内容长度,为底层以数组方式实现的集合、工具类指定初始长度10、当复制大量数据时,使用Syst...原创 2018-05-30 08:33:47 · 1288 阅读 · 4 评论 -
Java 原生API Runtime、Process、ProcessBuilder 执行外部进程,dos 、cmd 命令、VBS
目录Runtime 运行时类概述exec(String command) 参数格式详解exec(String command, String[] envp)exec(String command, String[] envp, File dir)exec(String[] cmdarray, String[] envp, File dir)运行 VBS 脚本文件Ru...原创 2018-05-11 09:47:31 · 2891 阅读 · 1 评论 -
InetAddress 获取 MAC 、IP 地址,ManagementFactory 获取进程、线程,JarFile 读取 Jar 包中的文件信息
目录MAC 获取本机 IP 获取1、每台联网设备的 MAC 地址是唯一的,且固定不变,所以很多时候都会有获取 AMC 地址的需求2、MAC 地址是网卡的唯一标识,全世界任意两台电脑 MAC 地址理论上都是不同的。3、有时候写后台程序,或者 GUI 程序时,需要直接获取程序运行的所在电脑的 ip 地址MAC 获取获取代码import java.net.InetA...原创 2018-05-30 14:52:14 · 6019 阅读 · 2 评论 -
Java 控制 Windows 系统音量,Spring Boot Jar、war 包注册成 Windows 服务启动
目录Java 控制 Windows 系统音量1、使用 Java 来控制 Windows 系统音量,使用 JNA 调用 windows 底层 API 因为有点麻烦,所以这里采用纯 Java API 结合 VBS 脚本的方式进行控制。2、可以参考《VBS 控制 Windos 系统音量 及视频播放》,本文同样是利用 VBS 来控制,区别在于这里的 vbs 文件会用 Java 代码动态生成,灵...原创 2018-06-29 15:01:16 · 6200 阅读 · 18 评论 -
Java 定时器 Timer 与 定时任务 TimeTask
目录Timer 概述TimerTask 概述编码示例鼠标自动单击桌面Timer 概述1、java.util.Timer 是一个工具类计时器,线程用其安排以后在后台线程中执行的任务,可安排任务执行一次,或者定期重复执行。2、与每个 Timer 对象相对应的是单个后台线程,用于顺序地执行所有计时器任务。3、Timer 计时器任务应该迅速完成,如果完成某个计时器任务的时...原创 2018-06-23 17:57:08 · 6369 阅读 · 1 评论 -
Apache Commons Exec -调用外部进程的瑞士军刀
1、从 Java 执行外部进程是一个众所周知的问题领域。它本质上依赖于平台,需要开发人员了解和测试特定于平台的行为,例如在 Windows 上使用 cmd.exe 或导致死锁的有限缓冲区大小。JRE 对此的支持非常有限,尽管使用 Java SE 1.5 ProcessBuilder 类会更好。2、可靠地执行外部进程还可能需要在执行命令之前或之后了解环境变量。在 J2SE 1.1-1.4 中,不支持此功能,因为用于检索环境变量的方法已弃用。。原创 2018-06-28 09:58:06 · 6604 阅读 · 15 评论 -
Java 匿名内部类、Java 中 == 与 equals 的区别
目录匿名内部类Anonymous Inner Class注意事项匿名内部类Anonymous Inner Class1、匿名内部类也就是没有名字的内部类。2、使用匿名内部类还有个前提条件:必须继承一个父类或实现一个接口。创建格式:new 父类构造器(参数列表)|实现接口() { //匿名内部类的类体部分 }3、创建匿名内部类时它会立即创建一个该...原创 2019-04-20 21:23:37 · 1142 阅读 · 0 评论 -
Java 资源文件读取方式汇总:Properties、ResourceBundle、ClassLoader、Resource、Hutool Setting、...
2、比如全世界都在用 weChat(微信),那么就需要有一个功能,对日本人显示的是日本文,对韩国人显示的是韩文,英国人显示英文,中国人显示中文,而 ResourceBundle 资源绑定就是解决这个问题,通过绑定不同的资源文件(即语言)来达到不同语言的显示。3、Properties 继承于 Hashtable,所以可对 Properties 对象应用 put 和 putAll 方法,但不建议使用这两个方法,因为它们允许调用者插入其键或值不是 String 的项,推荐使用 setProperty 方法。原创 2019-04-16 15:54:01 · 4479 阅读 · 2 评论 -
PrintStream 打印流、System 剖析、Java 16 进制转换
目录Java 16 进制转换java.lang.String 剖析Java 16 进制转换package com.lct.quickstart;import java.util.Arrays;/** * Created by Administrator on 2019/1/16 0016. */public class DataTypeConvertUtils {...原创 2019-01-16 16:17:23 · 1315 阅读 · 1 评论 -
Java Serializable 序列化 与 对象克隆方式汇总
目录实现 Serializable 接口serialVersionUID 版本号IDEA 快捷键生成 serialVersionUID序列化:即提取数据对象并将其转换为字节流(二进制格式)的过程,因此它可以通过网络传输或保存在数据库、以及本地文件中,后续可以再反序列化为对象。实现 Serializable 接口1、使用默认的序列化机制,即实现 Serializable 接口...原创 2019-07-10 15:26:10 · 2846 阅读 · 1 评论 -
Java 序列化漏洞多到修不完
目录序列化 与 反序列化序列化被指“糟糕的错误”序列化/反序列化安全问题序列化漏洞一直是Java面临的大问题本文参考来源网址:https://mp.weixin.qq.com/s/j4DgPpgNi6K33vby8Z5KOg序列化 与 反序列化序列化 即提取数据对象并将其转换为字节流(二进制格式)的过程,因此它可以通过网络传输或保存在数据库中,稍后才以其原始形式将其...原创 2018-07-30 08:15:37 · 1058 阅读 · 0 评论 -
Java 实现 8 大排序算法、笛卡尔积、父子级递归
目录冒泡排序选择排序冒泡排序1、特点:效率低,实现简单2、思想:每一趟将待排序序列中最大元素移到最后(反之也可以移动到最前),剩下的为新的待排序序列,重复上述步骤直到排完所有元素。import java.util.Arrays;/** * Created by Administrator on 2018/7/19 0019. */public class Tes...原创 2018-07-25 20:00:14 · 1788 阅读 · 1 评论 -
Java 类加载机制概述、类加载流程、自定义类加载器
目录Java 类加载机制概述类加载流程验证 ClassLoader自定义类加器class 文件准备NetworkClassLoaderJava 类加载机制概述1、Java 虚拟机使用 Java 类的流程为:首先将开发者编写的 Java 源代码(.java文件)编译成 Java 字节码(.class文件),然后类加载器会读取 .class 文件,并转换成 java.l...原创 2018-06-21 14:30:43 · 1141 阅读 · 0 评论