java
文章平均质量分 54
健康平安的活着
再给我一次重生的机会,我将加倍珍惜,将java事业进行到底。
展开
-
java基础知识20 Intern方法的作用
intern()方法:如果字符串常量池里面已经包含了等于字符串X的字符串,那么就返回常量池中这个字符串的引用;如果常量池中不存在,那么就会把当前字符串添加到常量池并返回这个字符串的引用。原创 2024-09-17 09:14:10 · 403 阅读 · 0 评论 -
java基础知识19 继承关系的子父类的方法,常量调用关系
1.具有子父类继承关系,子类的有参构造和无参构造,都会默认在首行调用super(),都会默认调用父类的构造方法。2.具有子父类继承关系,子类和父类具有相同的成员变量,直接访问成员变量,则是父类中的成员变量。3.通过F f=new Zi()的方式,调用父类的方法(构造方法和普通方法),在方法中调用this.A();this指的是子类对象;A()方法被子类重写过,则调用的子类的A()方法;没有被重写过,则调用父类中的A()方法。原创 2024-08-07 16:57:06 · 367 阅读 · 0 评论 -
多线程JUC 第2季 线程池的优雅关闭以及异常处理
1.submit默认会吞并异常;需要调用get方法获取执行结果,如果存在异常则抛出异常2.execute 会返回所报的异常。3.通过重写afterExecute方法,全部兼顾submit和execute两种方法所报异常。原创 2024-07-23 10:46:18 · 467 阅读 · 0 评论 -
java中对象的深拷贝和浅拷贝的区别联系
1.浅拷贝:对于基本数据复制的是值;引用类型复制的是内存引用地址,源对象只是复制了一份引用地址给拷贝对象,拷贝对象和源对象在堆内存中指向同一个对象;1.2 深拷贝2.深拷贝:拷贝对象在堆内存中 new 出一个源对象,在堆内存指向两个不同的对象,拷贝对象和源对象是两个独立的对象,互相隔离。1.3 操作步骤1.实现Cloneable接口,重写clone方法二 案例操作2.1 浅拷贝1.boss代码2.Emp代码1截图2.代码3.测试验证。原创 2024-07-22 15:07:49 · 208 阅读 · 0 评论 -
java中【==】和【equals】的区别和联系
Person//温馨提醒,//本类没有覆写hashcode和equals方法privateIntegerid;publicPersonStringthispersonNamePerson p1newPerson("hello"Person p2newPerson("hello"Systemout.println(p1==p2//结果为false。原创 2024-07-20 16:30:57 · 870 阅读 · 0 评论 -
java中Hashcode的作用【详解版】
hashCode是object类的一个方法,用于哈希表结构,主要是用来获取哈希值,用于确定对象在哈希表中的位置,如果两个对象的hashcode相同,那么他们可能被放在哈希表同一个位置(这取决于哈希表的实现)。每次重写equals()方法时,hashCode()方法也需要重写,就是为了保证:如果两个对象调用equals()方法返回的结果为true,那么两个对象调用 hashCode()方法返回的结果也必然相同。方法返回的就是一个哈希码值,当集合要添加新的元素时,先调用这个元素的。原创 2024-07-18 20:31:11 · 841 阅读 · 0 评论 -
java之 junit单元测试案例【经典版】
I: Independent 独立性;2.单元测试必须使用assert来验证。A: automatic 自动化;R:Repeatable 可重复;单元测试要满足AIR原则,即。原创 2024-07-17 14:29:20 · 658 阅读 · 0 评论 -
java中String 的“aaa”和new String(“aaa“)的区别联系【经典办】
如果有的话,将“aaa”的对象内容,通过 new 的方式,在堆内存中copy一个“aaa”的对象;如果有的话,将“aaa”的引用地址赋值给str。(仅是赋值而不是创建对象)如没有的话,在常量线程池中创建对象“aaa”,并把应用地址赋值给str。首先在常量线程池中查找字符串“aaa”;首先在常量线程池中查找字符串“aaa”;原创 2024-07-13 19:31:53 · 236 阅读 · 0 评论 -
BigDecimal的科学使用和避坑策略
【代码】BigDecimal的科学使用和避坑策略。原创 2024-07-10 20:26:52 · 122 阅读 · 0 评论 -
常见java,数据库锁汇总篇,舍我其谁
表级锁:粗粒度的锁,对整张表加锁,加锁快开销小,不会出现死锁,但并发度低,会增加锁冲突的概率;行级锁:是mysql粒度最小的锁,只针对操作行加锁,加锁慢开销大,会出现死锁,并发度高,但可大大减少锁冲突概率;1.3 概述ReentrantLock悲观的独占的可重入的可公平可不公平锁synchronized悲观的独占的可重入的非公平锁。原创 2024-01-22 21:34:46 · 523 阅读 · 0 评论 -
java 基础面试题 静态绑定与动态绑定
昨天去用友面试,被问到了如下几个问题1.单例模式使用场景2.责任链模式3.分布式事务TCC4.动态绑定和静态绑定5.类加载器今天就来研究一下静态绑定和动态绑定。原创 2023-09-05 07:15:51 · 218 阅读 · 0 评论 -
java中 StringUitls的isBlank和isEmpty的区别联系
一 isBlank和isEmpty的区别1.1 案例11.2 案例21.3 案例3原创 2023-05-30 09:33:32 · 124 阅读 · 0 评论 -
数据库生成主键的几种方法策略
设置auto_increment 实现数据表自增;优点: 适合排序和分页缺点:在分库分表中,保证每张表实现自增同时,不同表之间还得保证连续。实现比较麻烦。原创 2023-04-22 11:47:45 · 1365 阅读 · 0 评论 -
springboot json和bean和JSONObject,JSONArray的转换
1.Apple类return id;2.city类return id;3.province类return id;原创 2023-03-27 11:21:35 · 2174 阅读 · 1 评论 -
java 中使用BigDecimal 解决科学计数法问题
向正无穷方向舍入向零方向舍入向负无穷方向舍入ROUND_HALF_DOWN 向(距离)最近的一边舍入,除非两边(的距离)是相等,如果是这样,向下舍入, 例如1.55 保留一位小数结果为1.5ROUND_HALF_UP 向(距离)最近的一边舍入,除非两边(的距离)是相等,如果是这样,向上舍入, 1.55保留一位小数结果为1.6向(距离)最近的一边舍入,除非两边(的距离)是相等,如果是这样,如果保留位数是奇数,使用ROUND_HALF_UP ,如果是偶数,使用ROUND_HALF_DOWN。原创 2022-12-02 15:24:35 · 7857 阅读 · 0 评论 -
使用 linux shell脚本启动jar包,进行关闭,查看状态
1.将jar包打包好,上传服务器,并使用jar包的配置文件:application-dev.yml放到和jar包同一目录下,如下图所示。原创 2022-10-24 22:44:37 · 4094 阅读 · 0 评论 -
解决idea中部署springmvc 项目到tomcat下
1.选择工程--》右键--》project structure --》modules ,可以看到sso-server-center没有web插件标志:2.选择Facets--》选择spring的工程,sso-server-center,然后右键add,选择web,如下图所示:3.原创 2022-10-12 11:30:06 · 920 阅读 · 0 评论 -
使用HttpURLConnection进行请求各种接口
HttpURLConnection类在JDK的java.net包中已经提供了访问Http协议的基本功能的类:HttpURLConnection,可用于向指定网站发送GET请求、 Post请求。这里访问:京东万象其中获取手机归属地的一个app接口。原创 2022-10-11 19:51:38 · 972 阅读 · 0 评论 -
centos 7.5 linux版本设置jar包开机自启动
1.修改配置文件 /etc/rc.local。原创 2022-10-09 08:52:19 · 338 阅读 · 0 评论 -
java中对jvm参数的调整进行调优
问题2:在5次GC时,系统所消耗的时间大于用户时间,这反应出的服务器的性能存在瓶颈,调度CPU等资源所消耗的时间要长一些。问题1:在5次GC时,系统所消耗的时间大于用户时间,这反应出的服务器的性能存在瓶颈,调度CPU等资源所消耗的时间要长一些。将gc.log文件上传到gceasy.io查看gc中是否存在问题。原创 2022-10-05 08:08:00 · 1026 阅读 · 0 评论 -
java 程序代码的优化
1.1 尽可能使用局部变量调用方法时传递的参数以及在调用中创建的临时变量都保存在栈中速度较快,其他变量,如静态变量、实例变量等,都在堆中创建,速度较慢。另外,栈中创建的变量,随着方法的运行结束,这些内容就没了,不需要额外的垃圾回收。1.2 尽量减少对变量的重复计算。原创 2022-10-04 22:42:19 · 223 阅读 · 0 评论 -
网络I/o编程模型4 NIo之chanel通道实现文件复制
一 各种代码操作案例1.1 向本地文件写数据1.代码package com.ljf.netty.nio;import java.io.FileNotFoundException;import java.io.FileOutputStream;import java.io.IOException;import java.nio.ByteBuffer;import java.nio.channels.FileChannel;/** * @ClassName: WriteToLoc原创 2022-05-14 16:37:43 · 422 阅读 · 0 评论 -
java基础知识18 泛型
一 泛型1.1 概念泛型可以理解解决数据类型安全问题,它主要的原理是:在类声明的时候,通过一个标识表示类中的某个属性或者某个方法的返回值以及参数类型。在类声明或者实例化的时候,只需要指定需要的类型即可。1.2 案例1.代码package com.perm.controller;/** * @ClassName: Point * @Description: TODO * @Author: liujianfu * @Date: 2022/05/11 08:58:21 *原创 2022-05-11 09:14:54 · 160 阅读 · 0 评论 -
java工程项目打成普通jar包的配置
一 pom依赖<?xml version="1.0" encoding="UTF-8"?><project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/.原创 2022-05-10 09:18:34 · 317 阅读 · 0 评论 -
java基础知识 17-2 匿名内部类
一 匿名内部类1.1 概述匿名内部类也就是没有名字的内部类。正因为没有名字,所以匿名内部类只能使用一次,它通常用来简化代码编写。使用匿名内部类还有个前提条件:必须继承一个父类或实现一个接口。匿名内部类访问格式: new 父类名称(){定义子类内容} 或者 new 父类接口() {定义子类内容}匿名内部类其实就是一个匿名的子类对象。1.2 代码案例1.代码public abstract class Henan { public abstract void...原创 2022-05-05 16:05:44 · 241 阅读 · 0 评论 -
java 基础知识17-1 内部类
一 内部类1.1.内部类的放问规则内部类可以直接放问外部类中的成员,包括私有。(子所以可以直接放问外部类中的成员,是因为内部类中持有了一个外部类的引用。外部类名.this)外部类要放问内部类,必建立内部类对象。1.2 情况1:内部类在成员位置,且非私有,非静态当内部类定义在外部类的成员位置上,而且非私有非静态,可以在外部其它类中直接建立内部类对象。格式为: 外部类名.内部类名 变量名=外部类对象.内部类对象。Outer.Inner oi=new Outer().new Inner(原创 2022-05-05 15:25:22 · 637 阅读 · 0 评论 -
java基础知识16 string字符串
一 String1.1.概述1.string str="" 和 string s=new string(); 是一回事2. string s1="abc" //s1是一个类类型变量,“abc”是一个对象。3.string s1=“abc”; string s2=new String("abc");s1==s2 返回结果为falses1.equals(s2) 返回结果为trues1在内存中只有一个对象,s2在内存中有两个对象。1.2 获取1.获取字符串长度 int le..原创 2022-05-04 09:59:52 · 843 阅读 · 2 评论 -
Java基础知识4-4 覆盖与重载的区别
一 重载重载:在同一个类中,允许存在一个以上的同名函数,只要他们的参数个数或参数类型不同即可,注意,返回值类型无关,只看参数列表。原创 2022-05-03 10:53:06 · 196 阅读 · 0 评论 -
Java基础知识1 java基础&jdk常用命令
一 jdk与jre与jvmJVM:英文名称(Java Virtual Machine),就是我们耳熟能详的 Java 虚拟机。它只认识 xxx.class 这种类型的文件,它能够将 class 文件中的字节码指令进行识别并调用操作系统向上的 API 完成动作。所以说,jvm 是 Java 能够跨平台的核心,具体的下文会详细说明。JRE:英文名称(Java Runtime Environment),我们叫它:Java 运行时环境。它主要包含两个部分,jvm 的标准实现和 Java 的一些基本类库。..原创 2022-05-02 16:23:23 · 1662 阅读 · 0 评论 -
java基础知识-12 instanceof 关键词的作用
一 instanceof的作用instanceof 是 Java 的保留关键字。它的作用是测试它左边的对象是否是它右边的类的实例,返回 boolean 的数据类型。instanceof是Java的一个二元操作符,和==,>,<是同一类东东。 1 boolean result = obj instanceof Class 其中 obj 为一个对象,Class 表示一个类或者一个接口,当 obj 为 Class 的对象,或者是其直接或间接子类,或者原创 2022-05-01 20:08:18 · 414 阅读 · 0 评论 -
java基础知识-11:抽象类与接口
一 抽象类1.抽象类:在类和方法中加上关键字abstract,在Java中一个没有方法体的方法被定义为抽象方法,如果一个类中有抽象方法,那么这个类必须定义为抽象类。2.抽象方法一定在抽象类中;3.抽象方法和抽象类均可由abstract关键词修饰。4.抽象类中的方法要使用,必须由子类复写父类中的抽象方法。建立子类调用。其中如果子类只覆盖了部分抽象方法,那么该子类还是一个抽象类;5.抽象类中的抽象方法只有方法声明,没有代码的实现的空方法。普通方法必须有方法体。如下图所示:6.抽象原创 2022-05-01 19:57:56 · 455 阅读 · 0 评论 -
java基础知识15 final关键字
一 final关键字1.修饰变量:final修饰的变量是一个常量,且只能赋值一次;既可以修饰成员变量,又可以修饰局部变量。2.修饰的方法不能被覆盖;3.修饰的类不能被继承。4.内部类定义在类中的局部位置时,只能访问该局部被final修饰的局部变量。...原创 2022-05-02 11:02:13 · 467 阅读 · 0 评论 -
java基础知识14- 单例设计模式
一.单例设计模式:保证一个类对外只提供一个实例对象。二.好处:节约内存资源,提高性能。三.应用场景:1.widows中的任务管理器;2.数据库连接池:避免数据库连接或者关闭引起的性能消耗。3.多线程连接池。四.实现方式:publicclass SingleTon1 {...原创 2017-01-18 10:03:39 · 285 阅读 · 0 评论 -
java基础知识13 类变量(static)、实例变量、成员变量、局部变量
一 类变量和实例变量1.1 static变量和实例变量1.由static修饰的变量为类变量;非static修饰的变量为实例变量。2.由static修饰的方法为类方法;非static修饰的方法为实例方法。3.static:用于修饰成员(成员变量、成员函数);当被static静态修饰后,就多了一种调用方式,除了可以被对象调用外。还可以直接被类名调用。类名.静态成员。4.static的特点:1.随着类的加载而加载(随着类的消失而消失)生命周期最长。2.优于对象的存在。3.被所有对象所共享;4.原创 2022-05-02 10:16:11 · 1061 阅读 · 0 评论 -
springboot 的“java -jar xxx.jar 包名.类 参数....“的各种情况
一 项目工程说明1.1 pom文件1.2 调用主类二 执行jar包2.1 直接执行jar包java -jar dky-Aggeration-operator.jar此时执行pom文件指定的主类,按照配置执行2.2 直接执行jar包 并指定类名进行执行java -jar dky-Aggeration-operator.jar ReguleArtAggeration2.3 直接执行jar包 并指定类名 参数 执行java -jar原创 2022-04-27 21:56:34 · 905 阅读 · 0 评论 -
关于DateUtil时间工具类造成程序报错
一 问题描述DateUtils工具类中,调取方法中格式化日期类SimpleDateFormat和calendar都被定义成静态成员变量。如下图所示:定义一个线程池,模拟10个线程并发,调用此工具类:不同子线程调取不同月份,可以看到202209和202210两个月份返回结果一样,数据错位,变乱。应该2022209月份的当月最后一天是:Mon Sep 31 23:59:59 CST 2022。二 问题解决办法解决办法:将DateUtils工具类中,调取方法里格式化日期类SimpleDa.原创 2022-04-23 15:54:58 · 1871 阅读 · 0 评论 -
获取header中的token串&&http的patch方式发送请求
一 java后端获取token串使用java代码获取前端发来的请求header中的token串,1.1 模拟登陆,获取token地址:http://10.130.7.118:81/cas/jwt/login方式:postheader:content-type:application/x-www-form-urlencoded请求参数:1.2 请求上下线的接口地址请求地址中:header设置token,进行请求1.3 请求自定义的程序,获取header...原创 2021-12-05 19:53:27 · 6299 阅读 · 0 评论 -
Java中nio与io的区别与联系
一 区别于联系ava NIO和IO之间的主要差别:IO NIO面向流 面向缓冲阻塞IO 非阻塞IO无 选择器1.面向流与面向缓冲 JavaNIO和IO之间第一个最大的区别是,IO是面向流的,NIO是面向缓冲区的。 Ja...原创 2021-08-10 19:51:28 · 483 阅读 · 0 评论 -
java 中char 1和 char ‘1‘的区别和联系
1.相同点char i=1 是将整形常量放到一个字符变量中,实际就是将该整形常量的ASCII码放到内存单元中。char 'i'=1 是将字符常量放到一个字符变量中,实际就是将该字符常量的ASCII码放到内存单元中。char i = 1;则i的ASCII就是1,在内存中就是0 0 0 0 0 0 0 1char i = ‘1’;则i的ASCII就是字符‘1’的ASCII码49,就是0 0 1 1 0 0 0 1...原创 2021-08-06 20:23:46 · 5600 阅读 · 2 评论 -
cmd窗口下执行jar包 logger.info输出乱码,out语句输出正常解决办法
一 问题描述执行jar包,在cmd窗口中执行jar包,看到输出中,logger.info的输出为乱码,而System.out.println()输出为正确的日志。二 解决办法1.因为cmd默认的编码为GBK,jar包一般设置为UTF-8;2.在cmd窗口先输入:2.1 chcp 65001 (注意之间有空格)2.2 然后执行jar包命令:E:\huadian-project\fan_intelligent_server\target>java -jar -Dfile.enco.原创 2021-06-02 22:58:29 · 2572 阅读 · 0 评论