![](https://img-blog.csdnimg.cn/20201014180756927.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
Java
_Peko_
这个作者很懒,什么都没留下…
展开
-
【java】 enum 简单用法
public enum Color { RED("红色", 1), GREEN("绿色", 2), BLANK("白色", 3), YELLO("黄色", 4); // 成员变量 private String name; private int index; // 构造方法 private Color(String name, int index) { this.name = name; this转载 2021-11-09 15:22:44 · 75 阅读 · 0 评论 -
【关于 JVM 的一点东西】
JVMJVM 是一种程序,提供了Java程序所需的运行时环境,是字节码程序的解释器。JVM:Java Virtual Machine ,java虚拟机运行时:指一个程序在运行时或者被执行时需要的依赖解释器:把字节码解释成机器码JVM 的特点代开发者管理内存提供跨平台的执行环境跨平台JVM 是Java 跨平台(可移植性)的核心:因为JVM在不同的系统有不同的实现,而同一段代码在编译后的字节码是一样的,但同一段字节码,在不同的JVM实现上会映射到不同系统的API调用。JREJR原创 2021-08-19 10:46:40 · 79 阅读 · 0 评论 -
【方法引用】
Lambda表达式public class Test06 { public interface Printable{ void print(String str); } public void printString(Printable p){ p.print("Hello"); } @Test public void test01(){ printString(s -> System.ou原创 2021-06-25 15:20:08 · 55 阅读 · 0 评论 -
【注解】 简介与使用
注解也叫元数据,一种代码级别的说明。与类、接口、枚举是在同一层次,可以声明在包、类、字段、方法、局部变量、方法参数等的前面,用来对这些元素进行说明,注释。作用:1)编写文档:通过代码里标识的注解生成文档2)代码分析:通过代码里标识的注解对代码进行分析(使用反射)3)编译检查:通过代码里标识的注解当编译器能够实现基本的编译检查(Override)JDK中预定义的一些注解@Override :检测被该注解标注的方法是否是继承自父类(接口)的@Deprecated :该注解标注的内容,表原创 2021-06-25 11:00:50 · 59 阅读 · 1 评论 -
【java 标准时间格式】
在java中使用时间格式时,要使用标注的时间格式:正确的格式化ISO-8601模板为: yyyy-MM-dd HH:mm:ss正确的UTC的时间模板为 yyyy-MM-dd'T'HH:mm:ss.SSSXXX原创 2021-06-10 16:39:28 · 877 阅读 · 0 评论 -
【jedis】 java使用redis
一、添加依赖 <dependency> <groupId>redis.clients</groupId> <artifactId>jedis</artifactId> <version>2.9.0</version> </dependency>二、连接测试public class TestRedis { public static void main(String[原创 2021-05-20 10:23:27 · 61 阅读 · 0 评论 -
byte[].toString()
背景在做数据加解密时,设计到字节数组的操作,有一步是返回字节数组的字符串形式,于是我这么写Base64Utils.encode(result).toString();得出的结果确是:[B@xxxxxx ,一个地址的值,而不是想要的字符串形式原因对于对象来说,如果没有重写它的toString方法,则默认是返回对象的地址的,而不是字符串形式解决使用 new String 重新构造字符串new String(Base64Utils.encode(result),"U..原创 2021-03-31 10:44:14 · 1149 阅读 · 0 评论 -
【httpClient】 设置超时
CloseableHttpClient httpclient = HttpClients.createDefault();HttpGet httpGet = new HttpGet("http://www.baidu.com");RequestConfig requestConfig = RequestConfig.custom() .setConnectTimeout(5000).setConnectionRequestTimeout(1000) .setSocket.转载 2021-01-13 17:41:56 · 654 阅读 · 0 评论 -
【Java、File 文件相关操作】
平常写java时,经常会遇到文件相关的操作。文件读写,基本可以概括为从具体文件(File),到流(Stream),最后到字节(byte[ ]),或者反过来。也就是说文件操作一切都归结为操作字节:读 = 将文件通过流读出字节 写 = 将字节通过流写入到文件中File相关概念文件流相关概念File 与 byte[ ] 的转换1、把 File 转换为 byte[ ] /** * * @param file 目标文件 * @retu...原创 2020-11-23 16:14:19 · 147 阅读 · 0 评论 -
【java打印目录的层次结构】
package com;import java.io.File;import java.io.IOException;public class Test { public static void main(String[] args) throws IOException { showDir(-1,new File("C:/IDEA_Project/Shiro")); //这里写上目标项目 } public static void showDir(int.转载 2020-11-05 11:35:08 · 173 阅读 · 0 评论 -
JAVA:定时器的三种方法(详细注解)
请跳转至原博文:https://blog.csdn.net/qq_36537546/article/details/83044977第一种: 创建一个thread,然后让它在while循环里一直运行着,通过sleep方法来达到定时任务的效果,代码如下:public class Task1 { public static void main(String[] args) { // run in a second // 每一秒钟执行一次 final long ti...转载 2020-10-26 10:37:25 · 886 阅读 · 0 评论 -
【阿里巴巴Java开发手册】 01-命名规范
类名 基本:大驼峰式。抽象类:以 Abstract 或 base 开头;异常类:以Exception 结尾;测试类:测试的类名 + Test 结尾枚举类:后缀 Enum(枚举成员名称大写,单词之间用下划线隔开,语义完整清楚。) 方法名、参数名、成员变量、局部变量 基本:小驼峰式。 常量名 基本:大写,单词之间用下划线隔开,语义完整清楚。 包名 基本:统一使用小写。 接口名 基本:后缀 Service ,实现类后缀 Ser...原创 2020-10-21 16:06:50 · 306 阅读 · 0 评论 -
【UUID】
UUIDUUID 是 通用唯一识别码(Universally Unique Identifier)的缩写,是一种软件建构的标准,亦为开放软件基金会组织在分布式计算环境领域的一部分。其目的,是让分布式系统中的所有元素,都能有唯一的辨识信息,而不需要通过中央控制端来做辨识信息的指定。如此一来,每个人都可以创建不与其它人冲突的UUID。在这样的情况下,就不需考虑数据库创建时的名称重复问题。引用百度百科:https://baike.baidu.com/item/UUID/5921266?fr=aladd原创 2020-09-07 10:45:06 · 70 阅读 · 0 评论 -
【Optional 类】 java 8 特性
背景在访问对象,或者属性的调用时,可能会导致空指针异常NullPointerException ,所以为了防止突发异常的出现,我们就需要在操作之前加上 if 的条件判断if(value != null)这样的代码显得不够清新解决:用 java 8的特性Optional来预防NullPointerException问题。Optional 类是一个可以为null的容器对象。如果值存在则isPresent()方法会返回true,调用get()方法会返回该对象。Optiona..原创 2020-08-26 17:07:47 · 81 阅读 · 0 评论 -
LoggerFactory.getLogger用法
java开发过程中经常需要打印日志信息,往往会在每个类的第一行加上形如以下代码:protected static final Logger logger = LoggerFactory.getLogger(XXX.class);目的:使用指定的类XXX初始化日志对象,方便在日志输出的时候,可以打印出日志信息所属的类。示例:protected static final Logger logger = LoggerFactory.getLogger(XYZ.class); lo...转载 2020-07-30 10:37:38 · 463 阅读 · 1 评论 -
【反射】基本使用
反射机制,就是提前将类的各个属性方法提取出来,在我们编写源码时,提供参考这三种方式得到的都是同一个对象普通写法:利用反射的写法:改配置:...原创 2020-06-08 20:38:18 · 113 阅读 · 0 评论 -
【 Junit 单元测试 】
普通的测试:正规的单元测试:转载 2020-06-07 11:33:36 · 156 阅读 · 1 评论 -
【函数式接口】
https://www.cnblogs.com/wadmwz/p/9384660.html转载 2020-06-05 15:25:08 · 88 阅读 · 0 评论 -
【Stream 流】
流 运行结果:张三李四王五赵六田七运行结果:张三丰张翠山张无忌再使用就会报错运行结果:1234...转载 2020-06-03 19:52:33 · 92 阅读 · 0 评论 -
【网络编程】
引言:C/S 结构:全称为Client/Server结构,是指客户端与服务器结构。常见程序:QQ、迅雷B/S 结构 :全称为Browser/Server结构,是指浏览器和服务器结构。常见:谷歌浏览器 客户端与服务器的聊天 clientpackage demo1;import java.io.InputStream;import java.io.OutputStream;import java.net.Socket;pub...转载 2020-06-02 20:23:34 · 101 阅读 · 0 评论 -
【打印流】 PrintStream
public static void main(String[] args) throws Exception { PrintStream ps = new PrintStream("E://print.txt"); ps.println(97); ps.println(1.12); ps.println("This is ps");}运行之后:print.txt文件内容971.12This is ps转载 2020-06-02 18:11:42 · 91 阅读 · 0 评论 -
【序列化、反序列化】 ObjectOutputStream 、ObjectInputStream 、Serializable 、文件操作
一、什么是序列化与反序列化?Java 序列化是指把 Java 对象转换为字节序列的过程;Java 反序列化是指把字节序列恢复为 Java 对象的过程;二、为什么要用序列化与反序列化?在为什么要用序列化与反序列化之前我们先了解一下对象序列化的两种用途:把对象的字节序列永久地保存到硬盘上,通常存放在一个文件中; 在网络上传送对象的字节序列。我们可以想想如果没有序列化之前,又是怎样一种情景呢?举例:Web 服务器中的 Session 会话对象,当有10万用户并发访问,就...转载 2020-06-02 10:51:47 · 146 阅读 · 0 评论 -
【 转换流 】 OutputStreamWriter、InputStreamReader 、文件操作
package demo1;import java.io.FileOutputStream;import java.io.OutputStreamWriter;public class myDemo11 { public static void main(String[] args) throws Exception { write_Utf8(); write_GBK(); } public static void write_Utf8() th...转载 2020-06-01 21:21:44 · 235 阅读 · 0 评论 -
【 Properties 集合】 配置文件操作
Properties集合:(Map集合下的Hashtable集合下的一个子类)特点: 1.集合中的键和值都是字符串 2.集合中的数据可以保存到流中,或者从流中获取该集合通常用于操作以键值对形式存在的配置文件import java.util.Properties;import java.util.Set;public class PropertiesDemo { public static void main(String[] args) { prop.转载 2020-06-01 15:37:19 · 607 阅读 · 0 评论 -
【 String 和 StringBuffuer、StringBuilder 的 区别】
1,三者的简单说明String:字符串数值不可变;StringBuffer:字符串可修改,可以动态构造字符数据。StringBuffer类是可以通过Append()来修改值。线程安全StringBuilder:线程不安全2,三者在执行速度方面的比较StringBuilder > StringBuffer > String3,三者使用场景3.1如果要操作少量的数据用 = String 3.2单线程操作字符串缓冲区下操作大量数据 = StringBuilder3转载 2020-06-01 14:19:47 · 310 阅读 · 0 评论 -
【IO 缓冲区】 文件操作
缓冲流也叫高效流,是对4个基本的Filexxx流的增强字节缓冲流:BufferedInputStream、BufferedInputStream字符缓冲流:BufferedReader、BufferedWriter缓冲流的基本原理:是在创建流对象时,会创建一个内置的默认大小的缓冲区数组,通过缓冲区读写,减少系统IO次数,从而提高读写的效率...转载 2020-05-29 09:49:37 · 145 阅读 · 0 评论 -
【IO流】 字节流、字符流、文件操作
输入流 输出流 字节流 InputStream OutputStream 字符流 Reader Writer 字节流 FileOutputStream package demo1;import java.io.File;import java.io.FileOutputStream;public class myDemo11 { public static void main(String[] args) t...转载 2020-05-27 21:39:13 · 158 阅读 · 0 评论 -
【File 类】 文件操作
path 相关函数static String pathSeparator 与系统有关的路径分隔符,为了方便,它被表示为一个字符串static char pathSeparatorChar 与系统有关的路径分隔符static String separator 与系统有关的默认名称分隔符,为了方便,它被表示为一个字符串static char separatorChar 与系统有关的默认名称分隔符package demo1;import j...转载 2020-05-26 22:24:30 · 167 阅读 · 0 评论 -
【Java 也会出现内存泄漏】
尽管java可以自动回收分配的内存,但是也会出现内存泄漏问题:1)如果一个函数长久运行,那么函数内的局部变量将一直存在,只能等到函数返回之后才能回收2)使用HashMap类似的数据结构(关联到两个对象),当其中一个对象不再使用时,这两个对象仍存在关联,因此在回收哈希表前,这两个对象一直存在。参考:java技术手册...原创 2020-05-18 11:38:01 · 84 阅读 · 0 评论 -
【线程不安全问题】
1.消失的请求数 当我们要计算一个类中的某个函数被调用的次数时,用单线程跑绝对没问题,但是放到多线程中就会出事。 因为 count ++ 的操作过程是:读取->修改->写入 假设线程A和线程B同时调用了函数,那么他们读取count的值是一样的,接着增加数值,最后两个线程写入的数值都是一样的,造成少增加一次的错误。2.构造出两份相同的对象 构造函数私有化,我们会写一个公用返回参数为对象的函数,用于返回一个new出来的对象。...转载 2020-05-18 10:29:13 · 109 阅读 · 0 评论 -
【线程】 并发 、并行、进程、线程、线程池
并发:指两个或多个事件在同一时间段内发生。并行:指两个或多个事件在同一时刻发生。进程:指一个内存中运行的应用程序,每个进程都有独立的内存空间,一个应用程序可以运行多个进程。线程:线程是进程中的一个执行单元。线程调度分时调度:所有线程轮流使用CPU的使用权,平均分配每个线程占用CPU的时间 抢占式调度:优先级高的线程使用CPU,如果线程的优先级相同,则随机选择一个(线程随机性),java的使用为抢占式调度创建线程创建多线程程序的第一种方式:创建Thread类的...原创 2020-05-17 16:59:09 · 877 阅读 · 0 评论 -
【lambda 表达式】 JAVA 1.8 特性功能(使用Lambda表达式替换匿名类)
public static void main(String[] args) { /* * java 1.8之前我们定义的匿名类方式 */ new Thread(new Runnable() { @Override public void run() { System.out.println("Before Java8"); } }).start(); /* * java 1.8之后我们使用的新方法 * 使用lambda表达式替.原创 2020-05-15 15:21:59 · 1101 阅读 · 0 评论 -
【文件操作】 将文件内容转为String对象 、base64编码
文件内容:text.txt{"name":"利威尔","number":"abc123"}主类:package practiceDemo1;import java.io.File;import java.io.FileInputStream;import java.io.IOException;import java.util.Base64;public class TestFile01 { public static void main(String[] args) {原创 2020-05-15 11:03:38 · 797 阅读 · 0 评论 -
【 Map 接口】 及其实现类
如果要遍历HashMap的value则需要转换成set,然后用增强for遍历set关于map的练习转载 2020-05-05 21:21:32 · 113 阅读 · 0 评论 -
【Set 接口 】 及其实现类
Set<Integer> set = new HashSet<>(); set.add(1); set.add(3); set.add(2); set.add(1); //使用迭代器遍历set集合 Iterator<Integer> it = set.iterator(); while(...原创 2020-05-05 19:53:36 · 490 阅读 · 0 评论 -
【增强的 for 】
高级for循环 是用来遍历数组与集合的,内部原理是iterator迭代器遍历数组:int[] src = {1,2,3,4,5};for(int a:src){ System.out.println(a);}输出:12345遍历集合:ArrayList<String> list = new ArrayList<...原创 2020-05-05 19:39:24 · 71 阅读 · 0 评论 -
【Collection 集合 、Collections 工具类】
addAll 、shuffle ArrayList<int> list = new ArrayList<>(); list.add(1); list.add(2); list.add(3); Collections.addAll(list,4,...转载 2020-05-05 15:42:14 · 170 阅读 · 0 评论 -
【包装类】 装箱、拆箱
包装类 包含基本类型数据,操作基本类型数据的方法 装箱 把基本类型数据转成包装类 拆箱 把包装类中取出基本类型数据原创 2020-05-05 15:40:15 · 116 阅读 · 0 评论 -
【Random】 产生随机数
import java.util.Random;public class MyRandom { public static void main(String[] args) { Random r = new Random(); int num = r.nextInt(11); // 0~10 System.out.println...原创 2020-05-05 14:32:47 · 123 阅读 · 0 评论 -
【Date 类、SimpleDateFormat 类】 日期时间类
获取系统当前时间 Date date = new Date();System.out.println(date); //Sun Aug 03 12:23:03 CST 2020原创 2020-05-03 21:30:07 · 102 阅读 · 0 评论