JAVA
编程语言
one 大白(●—●)
你一定能够成为你想成为的人
展开
-
【工作中常用工具类,提升开发效率】
常用开发技巧原创 2022-06-02 14:36:40 · 210 阅读 · 0 评论 -
查询jdk支持的 tsl协议版本
查询jdk支持的tsl协议版本原创 2022-04-22 10:48:04 · 3095 阅读 · 0 评论 -
JAVA常见命名规范
常见命名规范Java语言基本命名规范Java语言基本命名规范1、类名需要使用大驼峰命名法(UpperCamelCase) 风格。方法名、参数名、成员变量、局部变量需要使用小驼峰命名法(lowerCamelCase)2、测试方法名、常量、枚举名称需要使用蛇形命名法(snake_case),比如should_get_200_status_code_when_request_is_valid、CLIENT_CONNECT_SERVER_FAILURL.并且,测试方法名称要求全部小写,常量以及枚举转载 2022-03-03 11:27:23 · 2230 阅读 · 0 评论 -
通过OKhttp3 访问 https地址
/** * okHttp3添加信任所有证书 * * @return */ public static OkHttpClient getUnsafeOkHttpClient() { try { final TrustManager[] trustAllCerts = new TrustManager[]{ new X509TrustManager() {原创 2021-09-16 14:23:35 · 849 阅读 · 0 评论 -
通过超链接 解析zip压缩包 中的 xml 内容
import com.alibaba.fastjson.JSON;import com.api.zp.documentexchange.OkHttp;import okhttp3.OkHttpClient;import okhttp3.Request;import okhttp3.Response;import org.dom4j.*;import org.xml.sax.SAXException;import selfdev.util.log.LogTool;import javax.原创 2021-09-16 14:19:40 · 398 阅读 · 0 评论 -
springboot 整合 Servlet、Filter、Listener、访问静态资源
1、引入pom.xml依赖<dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-web</artifactId></dependency><dependency> <groupId>org.springframework.boot</groupId>转载 2021-07-07 09:34:48 · 110 阅读 · 0 评论 -
itext根据数据生成PDF
前言:使用模板的方式开生成PDF文件1.下载Adobe Acrobat DC,使用正式版(可以试用7天)2.打开模板编辑表单域: 选择工具–>准备表单3.编辑文本域属性根据要求的模板设置文本域-本例只是测试,就放单个4.码代码import com.alibaba.fastjson.JSONObject;import com.itextpdf.text.pdf.*;import org.apache.commons.fileupload.FileItem;import org.转载 2021-06-22 17:03:21 · 640 阅读 · 0 评论 -
Collection 属性&ArrayList.add方法内部调用过程
Collection 属性//二进制搜索阈值private static final int BINARYSEARCH_THRESHOLD = 5000;//改变阈值private static final int REVERSE_THRESHOLD = 18;//调整阈值private static final int SHUFFLE_THRESHOLD = 5;//填补阈值private static final int FILL_THRESHO原创 2021-06-10 17:59:02 · 107 阅读 · 0 评论 -
死磕 18 个 Java 8 的日期处理,工作必用!
简介伴随 lambda表达式、streams 以及一系列小优化,Java 8 推出了全新的日期时间API。Java处理日期、日历和时间的不足之处:将 java.util.Date 设定为可变类型,以及 SimpleDateFormat 的非线程安全使其应用非常受限。然后就在 java8 上面增加新的特性。全新API的众多好处之一就是,明确了日期时间概念,例如:瞬时(instant)、 长短(duration)、日期、时间、时区和周期。同时继承了Joda 库按人类语言和计算机各自解析的时间处理方式。不转载 2021-05-14 13:46:24 · 126 阅读 · 0 评论 -
List去除重复数据的五种方式
1、使用LinkedHashSet删除Arraylist中的重复数据import java.util.ArrayList;import java.util.Arrays;import java.util.LinkedHashSet;public class ArrayListExample { //linkedHashSet在内部完成两件事 /* * - 删除重复数据 * - 保持添加到其中的数据的顺序 * */ public static void转载 2021-05-10 09:44:26 · 262 阅读 · 1 评论 -
idea 断点调试 以及 tomcat 无法访问
工作中使用到ide工具的时候,因为不想去记调试断点的快捷键,所以喜欢使用下方ide自带的按键,事实是百度了好久,在、才找到,原因好像是ide中断点没有关闭,还在运行中,所以导致下一次断点跳入不进去,后来就直接使用F9来运行完断点了。2、文件上传时form表单添加的属性:method=“post” enctype=“multipart/form-data”如果多文件上传的话,只需要在input标...原创 2019-05-10 17:23:06 · 486 阅读 · 0 评论 -
Spring 传播方式
Spring 传播方式REQUIRED :如果有事务则加入事务,如果没有事务,则创建一个新的(默认值)NOT_SUPPORTED :没有Spring事务,每条语句单独执行,单独提交REQUIRES_NEW :不管是否存在事务,都创建一个新的事务,原来的方法挂起,新的方法执行完毕后,继续执行老的事务MANDATORY: 必须在一个已有的事务中执行,否则报错NEVER:必须在一个没有的事务中执行,否则报错SUPPORTS: 如果其他bean调用了这个方法时,其他bean声明了事务,则就用这个事务,原创 2021-04-28 11:47:01 · 65 阅读 · 0 评论 -
JDK历史版本主要新特性
原创 2021-04-28 11:44:18 · 98 阅读 · 0 评论 -
Maven阿里云镜像配置
在setttins.xml文件中找到标签对,进行修改: <mirror> <id>nexus-aliyun</id> <mirrorOf>*</mirrorOf> <name>Nexus aliyun</name> <url>http://maven.aliyun.com/nexus/content/groups/public</ur原创 2021-04-25 11:18:29 · 158 阅读 · 0 评论 -
网络协议和Netty
文章标题网络协议计算机网络体系结构OSI 七层模型TCP/IP 模型TCP/IP 协议族TCP 和 UDP地址和端口号端口号的确定端口号与协议TCP/IPTCP 三次握手TCP 的三次握手的漏洞TCP 四次挥手(分手)网络协议计算机网络体系结构OSI 七层模型开放系统互连参考模型 (Open System Interconnect 简称 OSI)是国际标准化组织(ISO)和国际电报电话咨询委员会(CCITT)联合制定的开放系统互连参考模型,为开放式互连信息系统提供了一种功能结构的框架。其目的是原创 2021-03-17 18:11:47 · 317 阅读 · 0 评论 -
PIO导出Excel 设置样式
文章标题简单方法代码简单方法代码/** * * @param workbook 工作薄 * @param horizontalAlignment 单元格水平对齐方式 * @param fontSize 字体大小 * @param bool 是否加粗 * @param borderStyle 边框 * @return */ public static XSSFCellStyle style(Workbook wo原创 2021-03-10 14:58:07 · 213 阅读 · 0 评论 -
如何编写高效优雅 Java 程序
这里写目录标题编写高效优雅 Java 程序面向对象01、构造器参数太多怎么办?Builder 模式:02、不需要实例化的类应该构造器私有03、不要创建不必要的对象04、避免使用终结方法05、使类和成员的可访问性最小化06、使可变性最小化07、复合优先于继承08、接口优于抽象类方法09、可变参数要谨慎使用10、返回零长度的数组或集合,不要返回 null11、优先使用标准的异常通用程序设计12、用枚举代替 int 常量13、将局部变量的作用域最小化14、精确计算,避免使用 float 和 double15、当心原创 2021-02-23 12:20:57 · 1609 阅读 · 14 评论 -
每天Leetcode 刷题 初级算法篇-设计问题-最小栈
题目要求:力扣题解:/** * @program: mydemo * @description: 设计问题-最小栈 * @author: Mr.zeng * @create: 2021-02-19 09:49 **/public class MinStack { private Stack<Integer> dataStack; private Stack<Integer> minStack; /** initialize you.原创 2021-02-19 10:06:19 · 100 阅读 · 0 评论 -
每天Leetcode 刷题 初级算法篇-打乱数组
目录Leetcode刷题Leetcode刷题/** * @program: mydemo * @description: 设计问题-打乱数组 * @author: Mr.zeng * @create: 2021-02-18 10:44 **/public class Solution31 { private int[] array; private int[] original; private Random rand=new Random(); priva原创 2021-02-18 11:32:54 · 127 阅读 · 0 评论 -
idea生成类注释和方法注释的方法
这里写目录标题生成类注释生成类注解模板生成方法注释生成方法注解模板生成类注释生成类注解模板/*** @program: ${PROJECT_NAME}* @description: this is a class* @author: Mr.zeng** @create: ${YEAR}-${MONTH}-${DAY} ${HOUR}:${MINUTE}**/生成方法注释生成方法注解模板...原创 2021-02-01 16:12:06 · 104 阅读 · 0 评论 -
什么是JVM
目录标题JVM内存结构虚拟机的前世今生从虚拟机的发展到未来的技术发展未来的Java技术JVM整体介绍JVM各版本内存区域的变化JVM中的对象垃圾回收算法与垃圾回收器JVM执行子程序JVM性能优化编写高效优雅的JAVA程序深入了解性能优化JVM内存结构虚拟机的前世今生从虚拟机的发展到未来的技术发展Java SE体系架构JDK:Java开发环境JRE:(class)Java运行环境JVM: 解析class翻译成操作系统认识的指令为什么要了解虚拟机?写出更好,更优雅的Java程序原创 2021-01-20 14:20:50 · 160 阅读 · 0 评论 -
设计原则
Hello,你好呀,我是大白(●—●)目录标题设计模式设计原则类加载器设计模式设计原则单一职责原则开闭原则里式替换原则迪米特法则接口隔离原则依赖倒置原则SOLID双亲委派类加载器Java语言支持以下4种类加载器Bootstrap ClassLoader 启动类加载器Extention ClassLoader 标准扩展类加载器Application ClassLoader 应用类加载器User ClassLoader 用户自定义类加载器原创 2021-01-15 18:18:11 · 91 阅读 · 0 评论 -
总结并发编程常见面试题
Hello,你好呀,我是大白(●—●)目录标题并发编程常见面试题并发编程常见面试题在Java中守护线程和用户线程的区别?线程与进程的区别什么是多线程中的上下文切换死锁与活锁的区别,死锁与饥饿的区别?synchronized底层实现原理什么是线程组,为什么在Java中不推荐使用?什么是Executors框架?为什么使用Executor框架在Java中Executor和Executors的区别?什么是原子操作?在Java Concurrency API中有哪些原子类(atomic cla原创 2021-01-15 18:07:00 · 133 阅读 · 2 评论 -
JDK8高性能队列“Disruptor“
Hello,你好呀,我是大白(●—●)目录高性能队列 DISruptor传统队列问题:Disruptor 高性能的原理高性能队列 DISruptor传统队列问题:1、通过加锁保证线程安全,有性能问题2、ArrayBlockingQueue 存在伪共享问题Disruptor 高性能的原理1、引入了一个环形数组结构,数组是不会回收的,意味着不会有频繁的GC2、元素在进行操作时使用CAS无锁的方式,避免加锁,同时保证线程安全对于传统队列伪共享问题,缓存行对于数组也是成立的。当CPU在读取环形数原创 2021-01-15 18:03:56 · 284 阅读 · 1 评论 -
熟悉JDK8新特性,“Lambda表达式与函数式接口”
Hello,你好呀,我是大白(●—●)菜单lambda表达式函数式接口lambda表达式lambda表达式可以看成匿名内部类的一个简洁写法在语法上,Lambda表达式包含三个部分:参数列表,箭头,主体,比如:(parameters)->expression或(parameters)->{statements}函数式接口Lambda表达式用在函数接口上,所谓函数式接口,是只定义了一个抽象方法的接口(Interface)接口中是否有默认方法,不影响注解@Functional原创 2021-01-15 17:58:41 · 132 阅读 · 0 评论 -
多线程与高并发
volatile原创 2020-12-22 17:46:38 · 86 阅读 · 0 评论 -
微服务架构通栏
原创 2020-11-24 22:39:48 · 70 阅读 · 0 评论 -
JVM GC调优参数说明
GC调优参数-Xmx 最大堆大小(堆内存)-Xms 初始堆大小(堆内存)-XX:pARallelGcThreads=20 配置并行收集器的线程数-XX:+UseConcMarkSweepGC CMS为基于标记清除算法实现的多线程老年代垃圾回收器-XX:+PrintGCDetails 打印详细的GC日志-XX:+UseParNewGC Parallel是并行的意思,ParNew收集器是Serial收集器的多线程版本,使用这个参数后会在新生代进行并行回收,老年代任旧使用串行回收。-XX:+原创 2020-11-24 15:49:38 · 146 阅读 · 0 评论 -
Dubbo学习
Dubbo学习1分布式服务架构RPC特点Dubbo中角色分为项目配置项目模块分布式服务架构RPC1.分布式基础理论单体架构—>垂直应用架构—>分布式服务架构RPC(远程过程调用)进程内通讯(单体)特点流动计算架构(调度中心,提高集群利用率)决定RPC 框架的两个核心模块 (速度+序列化以及反序列化的效率)Dubbo中角色分为注册中心服务提供者服务消费者Dubbo框架容器监控中心Init 初始化Async 异步Sync 同步项目配置项目启动前提:下载 zoo原创 2020-08-16 23:39:11 · 182 阅读 · 0 评论 -
IDEA使用和实用小技巧
1、var 变量定义//"hello".varString str = "hello";// 10.varint i = 10;// 8.88.vardouble v = 8.88;2、null 判断为空、notnull 和 nn判断非空 // str.null if (str == null) { } // str.notnull if (str != null) { } // str.nn if (str != null) { }3、for 遍历集合或数组原创 2020-07-14 23:14:19 · 435 阅读 · 0 评论 -
从request中获取上一个请求的url
在HTTP的request对象中,可以取到HTTP头HEADER,其中有一个是"Referer",通过它,我们可以知道上上个请求的URL,这在某些场合中相当有用.如在一个列表页中,通常会有一个删除链接,删除列表中的某项数据,如果希望删除成功后再返回到该列表页,可以如下做法:java 代码String retUrl = request.getHeader("Referer"); if(retUrl != null){ response.sendRedirect(retUrl);转载 2020-07-14 13:54:33 · 864 阅读 · 0 评论 -
request如何获取请求路径方法
博客引用处(以下内容在原有博客基础上进行补充或更改,谢谢这些大牛的博客指导):request如何获取请求路径方法request对象中包含的是请求信息,当我们在浏览器地址栏上输入:http://localhost:8080/Example/AServlet?username=zhangsan,这段地址也会作为请求信息封装在request对象中,request对象必然会提供相关的方法来获取这些请求信息,这些信息其实就是请求路径信息。request对象通过以下方法来获取请求路径,如下所示:String转载 2020-07-14 13:50:35 · 4749 阅读 · 0 评论 -
JVM内存区域分析
原创 2020-07-03 12:10:24 · 81 阅读 · 0 评论 -
java 后台 小程序微信支付
https://pay.weixin.qq.com/wiki/tools/signverify/#1.生成字符串:appid=appId&body=测试商品名称&mch_id=1577513111&nonce_str=bf0d5ffe64fc44a3b0c101ead5a6a560¬ify_url=http://2s49p97876.zicp.vip/...原创 2020-04-22 15:45:15 · 207 阅读 · 0 评论 -
springboot 全局异常处理类
1、自定义一个 GlobalExceptionHandler 作为处理全局异常的处理类2、类上加上 @ControllerAdvice 注解3、在方法级别 加上 @ExceptionHandler 注解 与需要处理的类型本类中有一个 运行时异常,还有一个 权限拦截异常package com.huayi.minprogramdemo.interceptor;import com.hu...原创 2020-04-21 15:58:08 · 310 阅读 · 0 评论 -
Mybatis 与java 类型 对应表
Mybatis 与java 类型 对应表JDBC TypeJava TypeCHARStringVARCHARStringLONGVARCHARStringNUMERICjava.math.BigDecimalDECIMALjava.math.BigDecimalBITbooleanBOOLEANbooleanTINYI...原创 2020-02-27 13:54:56 · 552 阅读 · 1 评论 -
springboot yml多环境开发
springboot yml格式多环境开发:原创 2020-02-16 16:13:27 · 124 阅读 · 0 评论 -
springboot集成mybati 后又使用mybatisPlus 出现的问题 BindingException:Invalid bound statement
使用mybatisPlus 插件时出现的问题:因为项目中已有 mybatis 扫描的路径,之后加上了 mybatisplus 插件导致出现以下错误:BindingException:Invalid bound statement解决方案:原先 mybatis配置文件改成使用 mybatis-plus 插件定位配置文件...原创 2020-02-15 14:25:48 · 1139 阅读 · 0 评论 -
时空复杂度(时间复杂度/空间复杂度)O(1)、O(n)、O(n^2)、O(log n)、O(n log n)是什么意思,借鉴 然后自己借鉴出来
附上借鉴的地址:https://blog.csdn.net/lkp1603645756/article/details/85013126这些都是算法时空复杂度的表示。不仅仅用于表示时间复杂度,也用于表示空间复杂度。O后面的括号中有一个函数,指明某个算法的耗时/耗空间与数据增长量之间的关系。其中的n代表输入数据的量。O(1)解析O(1) 是最低的时间复杂度,就是说耗时,耗空间与数据大小无...转载 2019-10-21 18:45:58 · 311 阅读 · 0 评论 -
微服务原理
负载均衡机制:概念获得多台微服务的list,通过负载均衡算法,请求到指定的服务器/微服务原创 2019-10-18 16:26:08 · 98 阅读 · 0 评论