java base
文章平均质量分 64
java基础常见问题讲解
Xd聊架构
CSDN博客专家,Java领域优质创作者,任大厂架构师,专注Java、云原生、大数据领域
展开
-
IntelliJ IDEA好用的插件
在开发过程中,一个好用的插件可以大大提高我们的工作效率。今天,我想向大家介绍一些在IntelliJ IDEA中非常好用的插件。这些插件可以帮助我们更快地完成代码编写、调试和版本控制等任务,从而提高我们的开发效率。原创 2024-01-31 16:50:44 · 456 阅读 · 0 评论 -
jvm堆外内存排查详解
内存泄漏想必大家并不陌生,对于jvm的内存泄漏,有很多排查手段和方便的排查工具,例如MAL,但是对于非jvm的内存,如直接内存的使用,排查起来较为麻烦,下面介绍一下相关的排查手段。原创 2023-01-31 15:21:16 · 11626 阅读 · 0 评论 -
java 零拷贝详细讲解
零拷贝(英语: Zero-copy) 技术是指计算机执行操作时,CPU不需要先将数据从某处内存复制到另一个特定区域。这种技术通常用于通过网络传输文件时节省CPU周期和内存带宽。Linux提供的领拷贝技术 Java并不是全支持,支持2种(内存映射mmap、sendfile)。原创 2023-01-03 15:37:13 · 8669 阅读 · 2 评论 -
jdk8新特性-Stream流详解及使用样例(Stream创建、使用、收集、并行流、注意事项)
文章目录前言一、Stream创建及注意事项二、Stream常用处理方法三、并行Stream流创建及使用结尾前言注意:Stream和IO流(InputStream/OutputStream)没有任何关系,请暂时忘记对传统IO流的固有印象!Stream流式思想类似于工厂车间的“生产流水线”,Stream流不是一种数据结构,不保存数据,而是对数据进行加工处理。Stream可以看作是流水线上的一个工序。在流水线上,通过多个工序让一个原材料加工成一个商品。Stream API能让我们快速完成许多复杂的操作原创 2021-12-30 15:44:13 · 11367 阅读 · 41 评论 -
Spring Controller get、post传参解析
文章目录前言一、RequestParam二、RequestBody结尾前言在不同的参数上使用不同的注解,在进行http请求的时候,发现Get和Post有时有的竟然无法请求,所以简单总结一下,各个注解,可以成功请求的对应方式一、RequestParam注解@RequestParam接收的参数是来自HTTP请求体或请求url的QueryString中。RequestParam可以接受简单类型的属性,也可以接受对象类型。@RequestParam有三个配置参数:required 表示是否必须,原创 2021-12-14 09:37:32 · 12128 阅读 · 4 评论 -
jdk8新特性-四大函数式接口(Consumer、Supplier、Function、Predicate)使用样例
函数式接口(Functional Interface)是Java 8对一类特殊类型的接口的称呼。 这类接口只定义了唯一的抽象方法的接口,并且这类接口使用了@FunctionalInterface进行注解。在jdk8中,引入了一个新的包java.util.function, 可以使java 8 的函数式编程变得更加简便原创 2021-12-02 19:22:57 · 11128 阅读 · 15 评论 -
Springboot Mybatis Plus代码自动生成工具类
文章目录前言一、pom依赖二、工具类结尾前言代码生成器,也叫逆向工程,是根据数据库里的表结构,自动生成对应的实体类、映射文件和接口。看到很多小伙伴在为数据库生成实体类发愁,现分享给大家,提高开发效率。一、pom依赖<dependency> <groupId>com.baomidou</groupId> <artifactId>mybatis-plus-boot-starter</artifac原创 2021-11-23 14:28:24 · 14697 阅读 · 33 评论 -
ID生成算法-雪花算法(SnowFlake)及代码实现
文章目录前言一、ID生成算法对比二、雪花算法原理三、java实现结尾前言唯一ID可以标识数据的唯一性,在分布式系统中生成唯一ID的方案有很多,常见的方式大概有以下三种:依赖数据库,使用如MySQL自增列或Oracle序列等。UUID随机数snowflake雪花算法(本文将要讨论)一、ID生成算法对比采用数据库自增序列读写分离时,只有主节点可以进行写操作,可能有单点故障的风险分表分库,数据迁移合并等比较麻烦UUID随机数采用无意义字符串,没有排序UUID使用字符串形式存储,数据原创 2021-10-24 13:08:34 · 11926 阅读 · 3 评论 -
pdfbox、icepdf工具实现pdf转图片
文章目录一、环境准备二、pdfbox、icepdf工具实现pdf转图片结尾一、环境准备icepdf-core-6.1.2.jarpdfbox-2.0.20.jar二、pdfbox、icepdf工具实现pdf转图片import java.awt.image.BufferedImage;import java.awt.image.RenderedImage;import java.io.File;import java.io.IOException;import java.util.Ar原创 2021-07-13 15:41:12 · 11691 阅读 · 40 评论 -
js闭包理解
闭包是一个比较抽象的概念,尤其是对js新手来说.书上的解释实在是比较晦涩. 但是他也是js能力提升中无法绕过的一环,几乎每次面试必问的问题,因为在回答的时候.你的答案的深度,对术语的理解以及js内部解释器的运作方式的描述,都是可以看出你js实际水平的.即使你没答对,也能让考官对你的水平有个评估.那么我先来说说我对js中的闭包的理解. 闭包是很多语言都具备的特性,在js中,闭包主原创 2014-12-26 14:07:39 · 15428 阅读 · 29 评论 -
git最全教程(持续更新)
git最全教程(持续更新)文章目录一、git代理1.查看代理2.设置代理结尾一、git代理1.查看代理查看全局代理git config --global --get http.proxygit config --global --get https.proxy查看局部代理git config --local --get http.proxygit config --local --get https.proxy2.设置代理设置全局代理git config --global h原创 2021-05-28 17:23:33 · 10782 阅读 · 99 评论 -
常用正则表达式大全(Xss防范、sql注入、手机邮箱验证等等,持续补充~)
常用正则表达式大全文章目录一、安全防范类1.SQL注入1.Xss拦截二、常用校验类1.手机号校验2.邮箱校验3.邮政编码校验4.IP地址校验使用示例一、安全防范类1.SQL注入(\=.*\-\-)|(\w+(%|\$|#|&)\w+)|(.*\|\|.*)|(\s+(and|or)\s+)|(\b(select|update|union|and|or|delete|insert|trancate|char|into|substr|ascii|declare|exec|count|mast原创 2021-05-20 10:01:23 · 14353 阅读 · 86 评论 -
lombok
Lombok作用:帮使用者提高编码效率,减少重复与冗余的代码原理:ASM 动态修改class文件Lombok作用帮使用者提高编码效率减少重复与冗余的代码原理ASM 动态修改class文件配置maven依赖编译idea常用注解java bean相关SetterGetterToStringGetterlazy t原创 2018-01-23 17:19:33 · 20280 阅读 · 22 评论 -
http传递文件工具类
通过http接口传输文件工具类package com.aiyinsitan.web.util;import java.io.IOException;import java.io.InputStream;import java.nio.charset.Charset;import java.util.Map;import org.apache.http.Consts;import原创 2016-09-03 11:36:08 · 21000 阅读 · 34 评论 -
利用spring 实现文件上传、下载
org.springframework.util.FileCopyUtils类的copy方法可以实现文件拷贝,同时设置输出流为HttpServletResponse,则可以实现文件下载文件上传必须使用form的同步或异步表单提交,且设置form属性enctype="multipart/form-data"类中filekey为文件框ID(即下文的fileField原创 2016-05-12 10:50:54 · 20555 阅读 · 24 评论 -
ajax文件异步上传下载
需要的jar:ajaxfileupload.js文件上传:页面: 自有增值 用户名:${accountName} 详细信息 | 修改密码原创 2015-05-24 18:00:28 · 21084 阅读 · 30 评论 -
ftp文件上传和下载
ftp参数实体public class FTPParameter {private String host; private int port; private String user; private String pass; private String dir; //下载路径 private int mode; priva原创 2015-04-02 15:05:05 · 21225 阅读 · 30 评论 -
Java获取客户端的真实IP地址
在JSP里,获取客户端的IP地址的方法是:request.getRemoteAddr(),这种方法在大部分情况下都是有效的。但是在通过了Apache,Squid等反向代理软件就不能获取到客户端的真实IP地址了。像移动网关一样,iisforward这个ISAPI过滤器也会对request对象进行再包装,附加一些WLS要用的头信息。这种情况下,直接用request.getRemoteAddr()是无法原创 2015-03-27 14:08:32 · 20193 阅读 · 26 评论 -
excel导出基础例子
public class test { public static String export(List ublist,String path) throws Exception { try { File tempFile = new File(path); File accessory =原创 2015-03-26 14:02:22 · 16679 阅读 · 27 评论 -
关键字过滤高效算法
import java.util.ArrayList;import java.util.HashMap;import java.util.HashSet;import java.util.List;import java.util.Set;@SuppressWarnings({ "rawtypes", "unchecked" })public class KeywordFilter原创 2015-05-24 17:59:16 · 23223 阅读 · 29 评论 -
java性能优化一
1. 谨慎对待Java的循环遍历Java中的列表遍历可比它看起来要麻烦多了。就以下面两段代码为例:A: private final List _bars; for(Bar bar : _bars) { //Do important stuff } B: private final List _bars; fo原创 2015-04-14 15:04:09 · 20388 阅读 · 26 评论 -
java压缩,解压缩zlib文件
import java.io.BufferedReader;import java.io.BufferedWriter;import java.io.ByteArrayOutputStream;import java.io.File;import java.io.FileInputStream;import java.io.FileWriter;import java.io原创 2015-03-10 22:04:27 · 20204 阅读 · 31 评论 -
字符串补位
分析:现有字符串"a",转换byte后假设取位为:00110001,现去掉第一个0为0110001,补位加0为01100010.现要求将一组去掉第一位的串将第一位重新添加回来,即分析的逆过程。代码如下 byte [] aryBytes = temp.getBytes(); StringBuffer sbtmp = new StringBuffer(); StringBuff原创 2015-06-16 16:49:35 · 22452 阅读 · 24 评论 -
ca证书demo与相关问题
以下是CA证书的工具类import java.io.ByteArrayOutputStream;import java.io.File;import java.io.FileInputStream;import java.io.FileOutputStream;import java.io.IOException;import java.io.InputStream;import原创 2015-09-11 11:57:14 · 23284 阅读 · 26 评论 -
excel解析工具类
public class FileExcelOperation { private WritableWorkbook fWorkBook = null; private WritableWorkbook newReadBook = null; private Workbook fReadBook = null; /** * 创建读取EXCEL * @param fileNam原创 2016-05-13 10:28:50 · 20335 阅读 · 26 评论 -
Java并发编程:基本概念与volatile关键字解析
volatile这个关键字可能很多朋友都听说过,或许也都用过。在Java 5之前,它是一个备受争议的关键字,因为在程序中使用它往往会导致出人意料的结果。在Java 5之后,volatile关键字才得以重获生机。 volatile关键字虽然从字面上理解起来比较简单,但是要用好不是一件容易的事情。由于volatile关键字是与Java的内存模型有关的,因此在讲述volatile关键之前,我们先来原创 2016-06-03 14:54:58 · 20550 阅读 · 22 评论 -
java性能优化二
在JAVA程序中,性能问题的大部分原因并不在于JAVA语言,而是程序本身。养成良好的编码习惯非常重要,能够显著地提升程序性能。一、避免在循环条件中使用复杂表达式在不做编译优化的情况下,在循环中,循环条件会被反复计算,如果不使用复杂表达式,而使循环条件值不变的话,程序将会运行的更快。还有一个原则,决不在一个For语句中第二次调用一个类的方法例子: class原创 2015-04-14 16:46:51 · 20538 阅读 · 25 评论