![](https://img-blog.csdnimg.cn/20201014180756757.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
java
文章平均质量分 73
小海子l
keep learning
展开
-
异步编程生产实践
介绍异步编程的实现,并对CompletableFuture做简单介绍。原创 2022-11-06 23:39:17 · 525 阅读 · 1 评论 -
Java中的深拷贝与浅拷贝
前言这段时间在看《设计模式之禅》这本书,其中讲到了原型模式,可说老实话在此之前我从来没听说过还有这种模式的存在,是我孤陋寡闻了!在阅读了相关文章后,引出了深拷贝和浅拷贝,之前了解过这个知识点的,到现在完全没有印象了。就此,做出如下简述。正文在说深拷贝和浅拷贝之前先了解Java中的Cloneable接口该接口与java.util.RandomAccess接口一样,仅起标识作用。实现此接口并重写clone()方法,即可实现类的拷贝功能。不管是深拷贝(非必须)还是浅拷贝都依赖于此接口。浅拷贝浅拷贝(原创 2021-12-18 23:28:46 · 1072 阅读 · 0 评论 -
Java线程池的使用及工作原理
前言在日常开发过程中总是以单线程的思维去编码,没有考虑到在多线程状态下的运行状况。由此引发的结果就是请求过多,应用无法响应。为了解决请求过多的问题,又衍生出了线程池的概念。通过“池”的思想,从而合理的处理请求。本文记录了Java中线程池的使用及工作原理,如有错误,欢迎指正。什么是线程池?线程池是一种用于实现计算机程序并发执行的软件设计模式。线程池维护多个线程,等待由调度程序分配任务以并发执行,该模型提高了性能,并避免了由于为短期任务频繁创建和销毁线程而导致的执行延迟。线程池要解决什么问题?说到原创 2021-05-26 23:24:10 · 251 阅读 · 2 评论 -
LeetCode-数组刷题
两数之和 public int[] twoSum(int[] nums, int target) { Map<Integer, Integer> map = new HashMap<>(nums.length); for (int i = 0; i < nums.length; i++) { int n = target - nums[i]; if (map.containsKey(n))原创 2021-03-07 23:37:42 · 103 阅读 · 0 评论 -
基于MinIO Java SDK完成文件上传
简介最近在写项目的时候,使用了富文本编辑器wangEditor,其中有一个功能是图片上传,因为之前已经有一个搭建好的MinIO服务且提供了Java SDK,在实现这个功能的时候也踩了一下坑,将该功能记录如下。整合wangEditor在Thymeleaf中整合wangEditor需要js文件,我使用的是CDN引入 <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title>原创 2020-10-07 13:57:57 · 3228 阅读 · 3 评论 -
Java8日期和时间类在实际开发中的使用
目录前言一、基本使用前言最近在重构之前的一个老项目,其中包含一个统计模块,需要把存储在MongoDB的数据通过接口显示在后端管理系统中。这些数据大多是以时间为单位进行存储,例如:collectionName_202009collectionName_20200910,在老系统中对时间的处理使用Date类,简单了解了其中的时间工具类,深感繁琐并决定使用Java8中的LocalDateTime和LocalDate重构此代码。一、基本使用获取当前时间 // 2020-08-23T20:14:56.原创 2020-08-24 09:54:16 · 315 阅读 · 0 评论 -
Java中主要数据结构的实现原理及扩容机制
说明Java版本:1.8.0_231ArrayList底层由Object数组实现,具有数组的所有特性,实现了RandomAccess接口支持随机访问,非线程安全类型Object[] elementData;构造方法创建一个空数组 public ArrayList() { this.elementData = DEFAULTCAPACITY_EM...原创 2020-04-14 23:13:41 · 439 阅读 · 0 评论 -
HttpClient请求https接口出现‘unable to find valid certification path to requested target’异常
背景今天通过HttpClient请求一个外部接口时,出现SSLHandshakeException异常,通过查询并解决了问题,现做记录以HTTP POST方式调用外部接口public class HttpClientUtil { public static JSONObject httpPost(String url, String strParam,String appid, ...原创 2019-04-28 16:16:06 · 10256 阅读 · 0 评论 -
验证中国的座机号的正则表达式
完整代码:<!DOCTYPE html><html><head> <title>12</title></head><script type="text/javascript"> function show() { let str = "028-2580344"; var a = /0\d{2}-\d{7,8}/;原创 2017-09-19 17:34:54 · 60662 阅读 · 7 评论 -
使用HttpClient获取oAuth2.0中的code、token及refreshToken
授权服务器使用授权码模式(authorization_code)添加依赖 &lt;!--对用户名和密码进行base64加密--&gt; &lt;dependency&gt; &lt;groupId&gt;commons-codec&lt;/groupId&gt; &原创 2018-07-23 17:17:12 · 6630 阅读 · 1 评论 -
加密方法初探
Base64加密及解密 String str = "张三"; String base64Encoded = Base64.encodeToString(str.getBytes());//加密 String str2 = Base64.decodeToString(base64Encoded);//解密16进制字符串进行编码/解码...原创 2018-04-16 18:35:34 · 102 阅读 · 0 评论 -
Collection学习总结
CollectionCollection接口的只要实现类:List ArrayList (线程不安全,多个线程操作同一ArrayList时,出现异常)LinkedList 使用foreach循环速度较快Vector(线程安全) 使用普通for循环速度最快(随机访问)没有实现序列化接口,不支持序列化Stack(先进后出)使用场景对于需要快速插入,删除...原创 2018-04-16 18:25:17 · 218 阅读 · 0 评论 -
java解析JSON数据
解析JSON数据所需的jar包:org.json <dependency> <groupId>org.json</groupId> <artifactId>json</artifactId> <version>20160810</version> </dependency>预先准备的JSON数原创 2017-12-29 20:42:55 · 179 阅读 · 0 评论 -
ajax与后台的交互demo
这个demo主要演示ajax与tomcat服务器的简单交互操作! 思路:在输入框中输入用户名,如用户名为空,则显示“请输入用户名”;如输入的用户名已存在,则显示“错号”图片;不存在相同的用户名,则显示“对号”图片源码链接:https://github.com/longhaicheng/ajax-and-java目录截图 前端界面(比较简单) 未输入 随机输入用户名 输入已存在的用户名 代码:原创 2017-12-14 00:15:16 · 4717 阅读 · 0 评论 -
去除字符串中的空格,并将字符串翻转
前几天参加校招,遇到一个问题,现做分享。 题意大致如下: 将String world = “hello world”;去除所有的空格,并将字符翻转输出答: String b = world.replace(" ",""); //去除空格 String c = new StringBuffer(b).reverse().toString()...原创 2017-10-30 21:40:23 · 907 阅读 · 0 评论 -
比较两个数组,并取出相同的元素
比较两个数组,取出相同的元素普通方法public class test01 { public static void main(String[] args) { String[] str1 = {"a", "e", "h", "t", "f", "c", "g", "b", "d"}; String[] str2 = {"a", "d", "e", "f"};原创 2017-10-05 12:08:43 · 4437 阅读 · 0 评论 -
输入身份证号码计算两者的年龄差
输入身份证号码计算两者的年龄差实现两个输入框,用于接收输入的身份证号码String one = JOptionPane.showInputDialog("输入第一个身份证号码");String two = JOptionPane.showInputDialog("输入第二个身份证号码");截取身份证中的年份信息String str1 = one.substring(6, 10);String s原创 2017-04-22 00:10:48 · 1064 阅读 · 0 评论 -
java使用UDP的实例
客户端代码:public class Client { public static void main(String[] args) { try { DatagramSocket datagramSocket = new DatagramSocket(); try { InetAddress add = InetAddress.getByName("127.0.0.1原创 2017-04-19 20:03:53 · 704 阅读 · 0 评论 -
使用ServerSocket和Socket出现Connection reset的解决办法
服务器端代码:package Socket;import java.io.BufferedReader;import java.io.IOException;import java.io.InputStream;import java.io.InputStreamReader;import java.net.ServerSocket;import java.net.Socke原创 2017-04-18 20:55:47 · 9920 阅读 · 0 评论