Java基础
Acmen-zym
这个作者很懒,什么都没留下…
展开
-
Java中的异常捕捉try为什么要尽量使用具体标准的异常,为什么不要直接使用Exception、RuntimeException、Error、Throwable,避免在try catch中进行业务编码
异常的超类编译时异常也可以叫做检查性Exception,检查类异常都是继承此接口,Error程序运行错误运行时异常RuntimeException这是java的默认配置。当你把一个异常定义在方法的throws定义中,你就可以不处理这个异常,系统会自动把该异常抛出。 而RuntimeException则是java设计中所有方法都默认定义在throws中了,所以只要你不捕获,就会一层一层的往上抛出。除非你显示的标准要捕获它。否则不会被捕获。也不会造成编译异常。其实大部分的RuntimeExcept原创 2022-04-18 11:55:43 · 7224 阅读 · 0 评论 -
Java中Double类型设置指定保留小数点位数的方式
1、当前方式是保留两位小数点,并且四舍五入 BigDecimal b = new BigDecimal(546542.1214); double discount = b.setScale(2, BigDecimal.ROUND_HALF_UP).doubleValue();2、当前方式是直接保留两位小数点 String format = new DecimalFormat("######0.00").format(5432.125465); Double d = Doub原创 2022-03-04 16:15:40 · 10430 阅读 · 0 评论 -
Java中执行Linux文件删除命令 rm -rf
public static void deleteFile(String destDirPath) { String property = System.getProperty("os.name"); if (property.toLowerCase().startsWith("win")) { logger.info("当前系统为Windows不进行文件清理"); return; } logge原创 2021-12-17 09:29:53 · 8190 阅读 · 2 评论 -
Java8中Date转换LocalDate、LocalDate转换Date、Date转换LocalDateTime
@Test public void timeTest() { Date date = new Date(); //date转换为localDateTime LocalDateTime localDateTime = LocalDateTime.ofInstant(date.toInstant(), ZoneId.systemDefault()); System.out.println("localDateTime = " + l...原创 2021-08-18 13:45:54 · 6305 阅读 · 0 评论 -
JavaGC垃圾回收机制JavaGC如何判断对象是否可被回收Java的GC的具体回收简述
可达性分析也就是从GC Roots开始向下搜索,搜索走过的路径引用链,当对象到GC Roots中没有任何的引用链了也就是引用断掉了,则表示当前对象是无用的,哪怕虚拟机就但对这个对象为可回收对象#mermaid-svg-gI1tj78vJTpwogbe .label{font-family:'trebuchet ms', verdana, arial;font-family:var(--mermaid-font-family);fill:#333;color:#333}#mermaid-svg-gI1tj原创 2021-05-21 11:54:58 · 8560 阅读 · 18 评论 -
Java的hashCode与equals介绍,HashSet的去重原理
Hashset原创 2021-05-19 09:12:48 · 8894 阅读 · 27 评论 -
Java8中List使用stream转Map常用的几个方式
第一种: 取list中某2个字段作为Map的K,V第二种:将id和实体Bean做为K,V第三种: key存在重复记录时处理第四种: 使用某个具体的Map类来保存,如保存时使用LinkedHashMap’, '第一种: 取list中某2个字段作为Map的K,Vpublic Map<Long, String> getIdNameMap(List<User> users) { return accounts.stream().collect(Collectors.toMap原创 2021-03-30 09:39:21 · 9591 阅读 · 0 评论 -
Java使用idea时热部署设置
1、打开设置 --> 查找 build project automatically --> 选中2、打开设置 --> 查找Registry --> 找到并勾选compiler.automake.allow.when.app.running最后重启idea使用 spring-boot 热部署功能1、在 pom.xml 里添加spring-boot-devtools 依赖org.springframework.bootspring-boot-devtoolstrue2原创 2021-03-29 15:35:09 · 8396 阅读 · 0 评论 -
Java根据Map的value进行排序
将map变成一个List,然后实现Comparator接口中的compare方法进行排序Map<String, Integer> map = new HashMap<>();map.put("zym9", 9);map.put("zym6", 6);map.put("zym-1", -1);map.put("zym3", 3);map.put("zym11", 11);map.put("zym4", 4);List<Map.Entry<String, I原创 2021-03-29 15:31:37 · 9500 阅读 · 0 评论 -
用Jsoup从网页上抓取中国地区编号转变成Map
因为项目需求我需要在网站上爬取中国地区编号的信息,用于创建用户的运费模板,数据格式为key为湖南省,value为长沙市,430100被爬取的网站链接:https://blog.csdn.net/a497785609/article/details/7656330try { //从网站上爬取中国地区编号转变成Map Document tbTmallPageDoc = Jsoup.connect("https://blog.csdn.net/a49778560原创 2021-03-25 17:38:18 · 8348 阅读 · 0 评论 -
BeanCreationException: Error creating bean with name ‘jpaMappingContext‘: Invocation of init method
因为我在jap的实体对象中加入了JSONobject对象倒是初始化失败了加上 @Transient 注解不对其进行初始化就可以了原创 2021-03-24 14:17:59 · 9865 阅读 · 0 评论 -
Swing基本使用,这样就可以拥有一个简单的窗口和按钮了
public static void main(String[] args) { //主窗体 JFrame f = new JFrame("主窗口"); //主窗体设置大小 f.setSize(400, 400); //主窗体设置位置 f.setLocation(800, 300); //主窗体中的组件设置绝对定位 f.setLayout(null); //按钮.原创 2021-03-23 09:18:40 · 8459 阅读 · 0 评论 -
Calendar类的基本使用
/** * Calendar类的方法getTime() * 把日历对象,转成Date日期对象 */ @Test public void toDate() { Calendar c = Calendar.getInstance(); Date date = c.getTime(); System.out.println(date); } /** * 增加指定的天数然后输出 ...原创 2021-03-22 17:59:30 · 8399 阅读 · 0 评论 -
将字符串转化成json,再通过key循环获取值
因为项目需要,需要将一段字符串转换为json格式,并且json中字符串中还包含了json格式的数组。格式如下:String str = “{return:1,msg:’‘SS’’,list:[{id:1,name:’‘AA’’},{id:1,name:’‘BB’’}]}”; 需要通过key获取到每一个对应的value。 String str = "{return:1,msg:''SS'',list:[{id:1,name:''AA''},{id:1,name:''BB''}]}"; JSON原创 2021-03-22 17:39:19 · 8995 阅读 · 1 评论 -
配置MySQL连接池,具体配置如下
spring.datasource.driver-class-name=com.mysql.jdbc.Driverspring.datasource.url=jdbc:mysql://127.0.0.1:3306/datebook?useUnicode=true&characterEncoding=UTF- 8&autoReconnect=true&useSSL=false&zeroDateTimeBehavior=convertToNullspring.datasour原创 2021-03-22 17:37:09 · 8989 阅读 · 0 评论 -
org.apache.ibatis.binding.BindingException: Parameter ‘‘noteType‘‘ not found. Available parameter...
此类问题的解决方法是在repository层接口找到对应的参数加上注解@Param,例如标题中的noteType参数@Query(value = "SELECT *** FROM *** d WHERE d .noteType=:newTitle")public List<Object> find(@Param("noteType") Integer noteType);...原创 2021-03-19 16:54:34 · 8923 阅读 · 0 评论 -
Java使用JDBC连接数据库查询,之前刚刚接触代码没多久的时候写的
public class JDBCTest { private static String URL = "jdbc:mysql://localhost:3306/blog?useUnicode=true&characterEncoding=utf8"; private static String USER = "root"; private static String PASSWORD = "root"; private static Connection con原创 2021-03-19 16:51:58 · 8409 阅读 · 0 评论 -
java.lang.IllegalArgumentException: Attribute value must not be null错误
错误原因是我在session中放入的空值导致java.lang.IllegalArgumentException: Attribute value must not be null,设置值之前判断一下空值//如下代码public String about(Model model) {BlogUser user = blogUserService.findAdminUser();//user是null则会造成这个错误model.addAttribute("user", user);retur.原创 2021-03-19 16:48:21 · 13204 阅读 · 0 评论 -
踩坑!多个图片存入inputStream集合中再次读取时image为null
为了增加项目的运行速度我准备把下载的图片存入一个inputStream集合中,可以让同样的图片多次被使用。但是在写的时候发现每个is都不为null但是用BufferadImage去读取时发现 image是null的而且不会抛出任何异常,一开始我以为是is被我提前关闭了,然后把所有关闭is的代码都注释了,结果还是不行。后来我尝试在集合中add.(is)的时候new 新的InputStream存入然后将老的is赋值给他,成功的解决了这个问题,重新读取图片不在为null。在此之前我很少接触IO这些,后来通过学习才原创 2021-03-19 16:38:57 · 9491 阅读 · 0 评论 -
Java开发中常用到的String的方法,这些方法本人用得较多
String str = "Zeng Ye Min"; //使用空格(split是可以使用正则表达式的)将字符串切割为数组,strArray将会有3个元素 String[] strArray = str.split(" "); //也可以这样用,这样是指定返回的数组元素数量 String[] strArray = str.split(" ",2); //得到str中第一个e的下标,如果str中没有e则返回-1 int indexOf =...原创 2021-03-19 16:26:47 · 8432 阅读 · 0 评论 -
线程池的四种基本创建方式
public class ThreadPoolTest {public static void main(String[] args) {//创建固定长度的线程池ExecutorService pool1 = Executors.newFixedThreadPool(3);for(int i = 1;i <= 4;i++){pool1.execute(new MyThread());}pool1.shutdown();//创建可变长度的线程池ExecutorService pool2原创 2021-03-18 18:04:08 · 8445 阅读 · 2 评论 -
Java常用的几种循环,foreach循环,fori循环以及iterator
/**foreach循环*/public void foreach() {List stringList = new ArrayList<>();stringList.add(“A”);stringList.add(“B”);stringList.add(“C”);// for (String s : stringList)代码的含有是// 用String值类型 s为具体的值 stringList代表被循环的集合for (String s : stringList) {S原创 2021-03-18 17:18:22 · 9490 阅读 · 0 评论 -
在JS中生成整数随机数
/*这样每次都会随机不同的图片(直接使用Math.random()这个方法会出现小数点)在页面中我需要随机使用5张图片,图片为b01.jpg、b02.jpg、b03.jpg等这种格式,所以我想到要随机数了*/$.each(imgs, function () {var img = '<img src="images/b0' + Math.floor(Math.random() * 5 +...原创 2019-08-18 13:35:06 · 10659 阅读 · 0 评论 -
Java九九乘法表
/** * 99乘法运算表 */public void operationTable() { for (int i = 1; i <= 9; i++) { for (int j = 1; j <= i; j++) { //j一定要在最前面因为每次外循环之后,重新进来时j都会被赋值为1 System.out.p...原创 2019-08-18 13:32:06 · 8458 阅读 · 0 评论 -
Java数组转List集合,本人常用的几种方式
/** * Java数组转List集合 */public void javaArrayToList() { //1、首先是循环方式 String[] strArray = {"1", "2", "3"}; List<String> stringList = new ArrayList<>(); //循环完毕后list集合中将会拥有数组中...原创 2019-08-18 13:23:29 · 8473 阅读 · 0 评论