java基础
java基础
张三顺
不经历风雨,怎么见彩虹
展开
-
JAVA过滤富文本html标签,保留文字
JAVA过滤富文本html标签,保留文字使用正则过滤难免会出现许多奇奇怪怪的问题,今天这里使用jsoup包来解析1.Maven引入jsoup包<dependency> <groupId>org.jsoup</groupId> <artifactId>jsoup</artifactId> <version>1.11.3</version></dependency>2.调用pa原创 2021-09-17 09:04:03 · 764 阅读 · 0 评论 -
final 在 java 中有什么作用?
final 在 java 中有什么作用?1.【修饰类】1.被final修饰的类不能被继承2.被final修饰的类所有成员方法都将被隐式修饰为final方法2.【修饰变量】被final修饰的变量一旦获得初始值就不可改变,不能被重新赋值修饰成员变量必须设置初始值,不能被重新赋值修饰局部变量必须设置初始值,不能被重新赋值修饰基本类型变量只能赋值一次,不能被重新赋值修饰引用类型变量引用在初始化后将永远指向一个内存地址,不可修改,但是该对象里面的信息,可以修改3.【原创 2021-08-04 17:31:37 · 1722 阅读 · 0 评论 -
两个对象的 hashCode()相同,则 equals()也一定为 true,对吗?
答案:不对原因:因为hashCode()并不是完全可靠,有时候不同的对象他们生成的hashcode也会一样(生成hash值得公式可能存在的问题),所以hashCode()只能说是大部分时候可靠,并不是绝对可靠。例如:String a = "Ma";String b = "NB";System.out.println(a.hashCode()+ " " +b.hashCode());两个字符串的 hashcode 都为2484,但是用equals方法比较绝对是不同的。结论:eq原创 2021-08-04 16:55:22 · 1012 阅读 · 0 评论 -
== 和 equals 的区别是什么?
1.注意事项java有两种数据类型:一种是基本数据类型(byte、short、int、long、char、double、float、boolean),一种是引用数据类型(对象、数组、八大基本类型的包装类)2.比较结果基本数据类型:【==比较】:用 == 比较的是值,左右相等即相等【equals比较】:不能用equals方法比较基本类型的包装类:【==比较】:会自动拆箱成基本数据类型进行比较,注意(-128 ~ +127 之间的包装类内存地址相同,因为是从常量池拿的,其余是在堆上创原创 2021-08-04 16:42:59 · 187 阅读 · 0 评论 -
JAVA基础-JVM的介绍
JAVA基础-JVM的介绍1.名词介绍JVM是是Java Virtual Machine(Java虚拟机)的缩写,JVM是一种用于计算设备的规范,它是一个虚构出来的计算机,是通过在实际的计算机上仿真模拟各种计算机功能来实现的。引入java虚拟机后,java语言可以再不同平台上运行不需要重新编译。java语言使用java虚拟机屏蔽了与具体相关的信息,使得Java语言编译程序只需生成在java虚拟机上运行的目标代码(字节码),就可以在多种平台上不加修改的运行。2.概述java虚拟机有自己完善的硬原创 2021-08-04 15:36:44 · 342 阅读 · 0 评论 -
JAVA基础-jdk和jre的关系和区别
JAVA基础-jdk和jre的关系和区别1.名词介绍JDK(Java Development Kit)是Java开发工具包,里面包含Java的开发环境(提供了编译器javac等工具,用于将java文件编译为class文件)和运行环境(提供了JVM和Runtime辅助包,用于解析class文件使其运行)。如果你安装了JDK,那么你即可以开发Java程序,也同时拥有了运行java程序的平台。Jdk是整个java的核心,包括了jre(java运行环境)。JRE(Java Runtime Envirom原创 2021-08-04 14:27:09 · 2488 阅读 · 0 评论 -
JAVA列表转树状结构-列表拼装树状tree,递归,hutool,效率
JAVA树状结构返回方式-列表拼装树状结构第一种:自己写个递归拼装第二种:使用hutool第三方类库(其实原理也是递归)两种方式效率问题第一种:自己写个递归拼装 //定义一个树状结构的类 @Data static class Column{ private Integer id; private String name; private Integer parentId; private List<Column> ch原创 2021-06-11 10:37:04 · 1026 阅读 · 0 评论 -
JAVA文件批量下载打成压缩包
/** * * @param request * @param response * @param filePathList 文件路径集合 */ @ApiOperation(value = "文件批量下载") @PostMapping("/downLoad/zip") public void download(@RequestBody List<String> filePathList, HttpServletReq原创 2021-05-27 11:45:39 · 567 阅读 · 1 评论 -
java8-Stream流的介绍\创建\基本操作\
Stream流的介绍与创建Stream流的介绍Stream流的创建流的中间操作和终止操作中间操作方法终止操作方法一些基本使用方法(筛选、转换对象、转Map、查询最大)Stream流的介绍Java 8 API添加了一个新的抽象称为流Stream,可以让你以一种声明的方式处理数据。这种风格将要处理的元素集合看作一种流, 流在管道中传输, 并且可以在管道的节点上进行处理, 比如筛选, 排序,聚合等。元素流在管道中经过中间操作(intermediate operation)的处理,最后由最终操作(termi原创 2021-05-26 14:10:54 · 283 阅读 · 0 评论 -
JAVA中判断数据不为空后执行数据操作、防止空指针报错的工具类,safes工具类
问题描述: //问题描述, 由于集合为null //会报Exception in thread "main" java.lang.NullPointerException List<User> userList = null; userList.forEach(user->{ user.setUserName("李四"); }); System.out.println原创 2021-04-25 11:06:38 · 1322 阅读 · 0 评论 -
@JsonFormat时间误差的坑,相差8小时
问题描述: 执行查询的时候,发现返回的数据时间不对,走Debug后发现,是由于@JsonFormat导致的@JsonFormat 内部参数不指定 timezone = “GMT+8” ,会导致时间相差8小时。完整写法:@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")private Date createTime;将时区调整为GMT+8,解决以上问题。...原创 2021-04-06 14:55:57 · 6478 阅读 · 2 评论 -
JAVA给网站添加爬虫数据-超简单(jsoup)新闻图片数据
开发中,免不了需要添加一些假数据方便测试,但是自己添加的一般又不会太规范,所以使用爬虫来给系统添加一些假数据方便测试。一:图片数据获取ps:【我获取的是500px上面的数据】1.打开500px官网,打开F12即可获取到该资源链接,修改page页码即可。2.实际使用中,可能会出现防盗链,图片403情况,页面头部添加<meta name="referrer" content="no-referrer" />即可String url="https://500px.com.cn/comm原创 2021-03-31 10:14:07 · 305 阅读 · 1 评论 -
JAVA路径拼接File.separator
File.separator在Windows中,斜杠用的是正斜杠 \,如C:\Program Files\image在Linux中,斜杠用的是反斜杠 /,如usr/local/nginx为了能更好的适配各种系统,在路径拼接的时候可以用File.separator来进行拼接,通过代码来获取系统的分隔符。使用方法如下:Spring path = 'image' + File.separator + 'small.jpg'...原创 2021-03-30 10:30:11 · 5123 阅读 · 0 评论 -
解决maven项目不会预读xml文件,Invalid bound statement (not found): com.starry.dao.IUserDao.selAll
Invalid bound statement (not found): com.starry.dao.IUserDao.selAlldao层中xml文件不会被预读在pom.xml文件中加入在标签中插入下面的代码: src/main/java **/*.properties原创 2017-09-20 11:21:45 · 1027 阅读 · 0 评论 -
JAVA - 根据用户自增ID生成邀请码的工具类
/** * 根据用户ID生成邀请码的工具类 */public class GetCodeUtil { public static void main(String[] args) { String code = encode(132456); int nid = decode(code); System.out.println( 132456 + " -> " + code + " -> " + nid); } .原创 2020-11-19 10:16:27 · 755 阅读 · 3 评论 -
JAVA 订单号生成类
import java.text.SimpleDateFormat;import java.util.Date;import java.util.Random;/** * 生成订单号类 */public class OrderUtil { // 使用单例模式,不允许直接创建实例 private OrderUtil() {} // 创建一个空实例对象,类需要用的时候才赋值 private static OrderUtil g = null; // 单.原创 2020-11-19 10:14:09 · 1643 阅读 · 0 评论 -
JAVA -敏感词过滤器 工具类SensitiveFilter
1.添加敏感词过滤工具类import java.io.BufferedReader;import java.io.IOException;import java.io.InputStreamReader;import java.io.Serializable;import java.nio.charset.StandardCharsets;import java.util.Iterator;import java.util.NavigableSet;/** * 敏感词过滤器,以过滤速原创 2020-11-19 10:09:54 · 2757 阅读 · 10 评论 -
为什么你们这么喜欢在for循环里面增删改查!
太多太多,丧心病狂,无言以对。原创 2020-07-03 18:01:42 · 354 阅读 · 2 评论 -
SpringBoot使用Redis做缓存,RedisUtil
首先,引入jar包,然后配置一个配置类,然后写个utils工具类,然后使用。=======================================================<dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-data-redis</artifactId> &l原创 2020-07-03 17:53:00 · 607 阅读 · 0 评论 -
mysql中四大连接 内连接、左外连接、右外连接、外连接
/* ♥ mysql 中:内连接、左外、右外、外连接 首先来理解一下概念: //首先需要两个表,两个表中需要有共有的列来匹配两个表中的行 内连接:我感觉它的意思就是说,把两个表中的匹配到的(两边儿都有的)然后结合到一起 【关键字单词释义】: innner(内部) join(结合){把两边儿都有的结合} 左外连接;我感觉它的意思就是说,在内连接的基础上,遇到没原创 2017-06-09 15:10:33 · 830 阅读 · 0 评论 -
使用反射在 ArrayList<Integer> 集合中添加一个字符串数据;
整体思路就是:1:新建一个ArrayList集合2:然后使用反射,返回ArrayList的class对象3:使用class中的getmethod方法,找到ArrayList中的 add方法(此方法是添加元素的时候用的)3:使用method类中的invoke方法,将字符串添加到集合中4:遍历集合 输出字符串。//导包import java.lang.reflec原创 2017-06-05 18:36:31 · 4309 阅读 · 0 评论 -
JAVA springmvc自动转换日期类型的格式
需要在配置文件中加入 ,在web层中加入 @InitBinder注解,自动转换日期类型的字段格式 @InitBinder public void initBinder(ServletRequestDataBinder binder) { /** * 自动转换日原创 2017-09-18 09:08:55 · 1189 阅读 · 0 评论 -
java驼峰转下划线,下划线转驼峰
package com.starry.test;import java.util.regex.Matcher;import java.util.regex.Pattern;public class Test { public static void main(String[] args) { String str1 = "FermQASDASDSALove";//带下划线的字原创 2017-11-17 16:08:26 · 11604 阅读 · 0 评论 -
使用AJAX传数组,后台接受数组
1.前台界面,获取相同input中的值例如有3个相同的input,我在后台要获取这三个input里面的值2.js代码首先获取这几个input:var starry = $("input[name='starry']");使用$.map() 函数用于使用指定函数处理数组中的每个元素(或对象的每个属性),并将处理结果封装为新的数组返回:var arr =原创 2017-11-16 13:52:16 · 895 阅读 · 0 评论 -
java基础-数组转换,删除,去重复(自己玩儿)
1.String[]转integer[]String[] s = {'1','2','3',,'5'}Integer[] in = new integer[s.length];for(int i = 0; iif(s[i] != null && s[i] !=""){in[i] = integer.parseint(s[i]);}else{in[i] = 0;}原创 2017-11-16 18:36:08 · 172 阅读 · 0 评论 -
Java 8时间和日期API 20例
伴随lambda表达式、streams以及一系列小优化,Java 8 推出了全新的日期时间API,在教程中我们将通过一些简单的实例来学习如何使用新API。Java处理日期、日历和时间的方式一直为社区所诟病,将 java.util.Date设定为可变类型,以及SimpleDateFormat的非线程安全使其应用非常受限。Java也意识到需要一个更好的 API来满足社区中已经习惯了使用JodaTime转载 2018-01-08 11:03:58 · 185 阅读 · 0 评论 -
Bean转化工具类(bean转bean,对象转换,对象转map,map转对象)
package com.starry.test;import java.lang.reflect.InvocationTargetException;import java.util.ArrayList;import java.util.List;import java.util.Map;import org.apache.commons.collections.CollectionUtils;i...原创 2018-02-22 14:27:38 · 23172 阅读 · 0 评论 -
使用Spring拦截器拦截CSRF攻击
1.使用拦截器2.拦截器写法闲着无聊:写个异常类玩儿玩儿原创 2018-04-08 14:21:45 · 1602 阅读 · 2 评论 -
使用JAVA获取请求IP(访问者的IP)
/** * 获取当前网络ip * @param request * @return */ public String getIpAddr(HttpServletRequest request){ String ipAddress = request.getHeader("x-forwarded-for"); ...原创 2018-04-10 15:42:32 · 15088 阅读 · 3 评论 -
JAVA中IO流体系和使用(IO流)
1.IO流:字节流:抽象父类:1.InputStream2.OutputStream 文件流:1.FileInputStream2.FileOutputStream 字节缓冲流:...原创 2018-04-16 14:51:51 · 662 阅读 · 0 评论 -
JAVA集合体系整理汇总
1.整体体系分为两个体系: 一个是以Map接口为延伸 一个是以Collection接口延伸1.1:Map接口向下延伸,又分为两大类 一:HashMap(底层键值对:key:value)(线程不安全,同理效率高)(无序的) 二:HashTable(底层键值对:key:value)(线程安全,同理效率低)(无序的) 三:TreeMap(底层键值对:key:v...原创 2018-04-11 14:32:32 · 2946 阅读 · 0 评论 -
JAVA中MD5加密(MD5工具类)
工具类如下:import java.security.MessageDigest;/** * @Author:Starry * @Description: * @Date:Created in 9:46 2018/4/13 * Modified By: */public class MD5Utils { private static final String hexDig...原创 2018-04-13 10:06:02 · 60885 阅读 · 0 评论 -
JAVA 定义常量类和枚举
1:定义常量类/** * @Author:Starry * @Description:常量类定义 * @Date:Created in 10:08 2018/4/13 * Modified By: */public interface ServiceConst { /** 逻辑删除标记 **/ interface DELETE_FLAG{ /** 默认...原创 2018-04-13 10:32:53 · 6245 阅读 · 0 评论 -
java中 @Test注解的使用和其他成员
package com.starry.exersice;import org.junit.After;import org.junit.AfterClass;import org.junit.Before;import org.junit.BeforeClass;import org.junit.Test;/** * Junit单元测试 * 使用方法、固定写法、用法 *原创 2017-06-12 19:04:08 · 12723 阅读 · 0 评论