![](https://img-blog.csdnimg.cn/20200108102301827.jpg?x-oss-process=image/resize,m_fixed,h_224,w_224)
Java
Java
He Yanbo
这个作者很懒,什么都没留下…
展开
-
Java、Go获取HTTP请求源IP的方法
【代码】Java、Go获取HTTP请求源IP的方法。原创 2023-04-03 11:40:03 · 671 阅读 · 1 评论 -
java开发中手动设置logback、jvm、容器的时区
Java开发中手动设置logback、jvm、容器的时区原创 2022-06-16 15:28:13 · 1922 阅读 · 0 评论 -
JVM启动时配置最大堆内存、元空间、时区
当前环境当前版本:JAVA 1.8.0_172查看java版本:java -version容器资源:cpu 2Cmemory 4G设置JVM堆内存参数- Xms 初始化堆内存,默认为物理内存的1/64- Xmx 最大堆内存,默认为物理内存的1/4注:一般应用的生产环境都会将Xms和Xmx设置为同等大小,为了避免堆内存缩小/扩容时频繁GC,导致的线程停顿,引发业务问题。元空间-XX:MetaspaceSize 初始化元空间大小-XX:MaxMetaspaceSize 最大元空间大原创 2022-04-24 11:24:14 · 2404 阅读 · 0 评论 -
Future+Callable异步查询
Future+Callable异步查询Future (java.util.concurrent)表示异步计算的结果。提供了检查计算是否完成的方法,以等待计算的完成,并获取计算的结果。Callable (java.util.concurrent)Callable类似于Runnable,两者都是为那些其实例可能被另一个线程执行的类设计的。两者的区别是:Runnable不会反会返回结果,...原创 2020-01-06 11:16:13 · 765 阅读 · 0 评论 -
异步子线程共享主线程request
子线程共享主线程reqeust应用背景在springboot项目中,使用RequestContextHolder获取reqeust信息,开发一个异步接口时发现子线程在主线程结束后获取不到request,导致调用微服务接口报以下错误信息:解决方法开启线程之前,设置servletRequestAttributes子线程共享 ServletRequestAttributes servletRequestAttributes = (ServletRequestAttributes) Reque原创 2020-09-03 16:50:18 · 3180 阅读 · 0 评论 -
使用多线程查询大量数据信息
使用多线程查询大量数据信息1、创建一个线程池:public class ThreadPoolExecutorFactory { public static final ExecutorService executor = Executors.newFixedThreadPool(20);}2、创建一个CountDownLatch计数器闭锁,通过它可以完成类似于阻塞当前线程的...原创 2019-08-16 09:47:10 · 3783 阅读 · 0 评论 -
Jsch访问代理机报proxy error:Forbidden
Jsch访问代理机报proxy error:Forbidden问题解释通过代理访问物理机被拒绝原因分析代理机用户名、端口错误或物理机用户名、端口、密码错误代理机或物理机代理端口未开放问题处理报错截图在密码和用户名正常的情况下,排查服务器是否开放代理接口;我们这边使用的nginx进行代理,查看nginx.conf配置文件,发现proxy_connect_allow 未允许22端口;vim修改nginx.conf配置文件,开放22端口后问题解决...原创 2020-12-25 17:41:08 · 729 阅读 · 0 评论 -
JSch通过代理机访问服务器并执行命令
JSch通过代理机访问服务器执行命令maven jar包新增```java <!--ssh服务端工具--> <dependency> <groupId>com.jcraft</groupId> <artifactId>jsch</artifactId> <version>0.1.53</version>原创 2020-12-22 17:06:05 · 567 阅读 · 0 评论 -
标识符的概念和组成规则(Java)
标识符的概念和组成规则标识符的概念标识符是用户编程时使用的名字,用于给变量、常量、函数、语句块等命名,以建立起名称与使用之间的关系。[^1]组成规则标识符由英文大小写字母数字字符下划线“_”、汉字(不推荐使用)、美元符号“$”组成注意事项第一个字符不能是数字。不能把java关键字和保留字作为标识符标识符对大小写敏感标识符没有长度限制。举例合法标识符举例:He...原创 2018-12-12 14:50:42 · 3969 阅读 · 0 评论 -
JDK全局环境变量配置
JDK全局环境变量配置#系统环境:Windows7 64位#JDK版本信息:JDK8配置步骤:获取JDK安装路径,例:D:\JDK1.8;配置环境变量:单击“计算机-属性-高级系统设置”,单击“环境变量”。在“系统变量”栏下单击“新建”,创建新的系统环境变量,变量名推荐使用“JAVA_HOME”。将JDK安装路径存放到变量值文本框中,点击确定按钮;在环境变量列表中找到PATH变量,...原创 2018-12-11 16:13:45 · 2007 阅读 · 0 评论 -
服务端与服务端之间的文件上传和下载
服务端与服务端之间的文件上传和下载原创 2020-06-22 16:54:50 · 490 阅读 · 0 评论 -
Java针对大文件的分片传输与合并
Jave针对大文件的分片传输与合并最近在做docker save、load 接口的开发中,遇到镜像文件特别大的情况(2G-30G),而且是服务端与服务端之间的文件传输,使用HttpClient直接传输的话肯定会有内存溢出或超时的风险,未来避免这个分析,最后我们服务端双方都决定采用文件分片、合并的方法,完成一个大文件的传输。文件分片代码(示例代码)注:大文件情况下分割文件需要耗费一定的时间,服务端的调用可能导致响应超时,建议接口采用异步方式,先返回调用方接口信息,并整合缓存,将文件分片情况同步到原创 2020-06-09 15:09:37 · 4169 阅读 · 6 评论 -
Ip总量计算工具
Ip总量计算工具/** * <功能简要> <br> * <ip段,ip总数计算工具> * * @Author heyanbo * @createTime 2020/5/6 23:15 * @since 1.0 */public class IPTotalUtil { public static void main(String[] args) { Integer ipTotal = getIpTotal("192.168.0.1原创 2020-05-22 10:22:24 · 415 阅读 · 0 评论 -
Java使用序列化流实现对List泛型的深拷贝
使用序列化流实现对List的深拷贝深拷贝为新的对象重新开辟一个内存空间,拷贝原有对象的数据结构和值;新的对象的值修改不会涉及原对象的值(请注意性能问题)。实现序列化拷贝的条件实体对象实现Serializable接口/** * 用户实体类 */public class UserEntity implements Serializable { private int ...原创 2020-03-05 17:41:23 · 778 阅读 · 0 评论 -
Collections按照时间排序
Collections 按照时间排序用户实体类... ...public class UserEntity { private int id; private String username; private String sex; private int age; private String address; private...原创 2019-12-18 14:19:22 · 526 阅读 · 1 评论 -
Java根据实体类的某一个属性进行排序
Java根据实体类的某一个属性进行排序实体类/** * 用户实体类 */public class UserEntity { private int id; private String username; private String sex; private int age; private String address; ...原创 2019-12-04 10:46:30 · 2599 阅读 · 0 评论 -
Java_获取分数
java_分数设计一个表示分数的类Fraction。这个类用两个int类型的变量分别表示分子和分母。构造函数:Fraction(int a, int b)构造一个a/b的分数。这个类要提供以下的功能:Fraction plus(Fraction r);将自己的分数和r的分数相加,产生一个新的Fraction的对象。Fraction multiply(Fraction r);...原创 2019-11-13 10:51:00 · 1255 阅读 · 0 评论 -
"==" 与 equals() 方法的区别
“==” 与 equals() 方法的区别❀基本类型byte、short、char、int、long、float、double、boolean❀&quot;==&quot;:比较基本类型时,比较的是值是否相同引用类型时,默认比较的是地址值是否相同基本类型比较int i = 1, j = 2,a = 1;System.out.println(i == j);//falseSystem.out.p...原创 2019-01-15 18:17:47 · 150 阅读 · 0 评论 -
Java一维、二维数组的内存图解
Java一维、二维数组的内存图解:一维数组:一个一维数组:初始化一个一维数组arr,给定数组的固定长度,根据索引给数组赋值。两个一维数组:初始化两个一维数组arr、arr2,给定数组的固定长度,根据索引给数组赋值。三个一维数组:初始化三个一维数组arr、arr2、arr3,给定arr1、arr2数组固定长度,将arr3 = arr1,先给arr1、arr2数组赋值,最后给arr3赋值(观...原创 2018-12-20 14:18:09 · 619 阅读 · 0 评论 -
深入理解Java中的final关键字
深入理解Java中的final关键字Java中的final关键字非常重要,它可以应用于类、方法以及变量。这篇文章中我将带你看看什么是final关键字?将变量,方法和类声明为final代表了什么?使用final的好处是什么?最后也有一些使用final关键字的实例。final经常和static一起使用来声明常量,你也会看到final是如何改善应用性能的。final关键字的含义?final在Ja...转载 2018-12-20 16:26:18 · 135 阅读 · 0 评论 -
this 和super 关键字的区别
this 和super 关键字的区别属性的区别:this访问本类中的属性,如果本类没有此属性则从父类中继续查找。super访问父类中的属性。方法的区别:this访问本类中的方法,如果本类没有此方法则从父类中继续查找。super访问父类中的方法。构造的区别:this调用本类构造,必须放在构造方法的首行。super调用父类构造,必须放在子类构造方法首行。其他区别:this表示当前对象。sup...转载 2018-12-27 11:52:04 · 235 阅读 · 0 评论 -
Java修饰符
修饰符:权限修饰符:private,默认的(default),protected,public状态修饰符:static,final抽象修饰符:abstract类:权限修饰符:默认的(default),public状态修饰符:final抽象修饰符:abstract用的最多的是public成员变量:权限修饰符:private,默认的(default),protected,...原创 2018-12-27 14:39:33 · 97 阅读 · 0 评论 -
Java权限修饰符的范围
注: Y表示在当前范围下可已访问到原创 2018-12-27 14:46:58 · 272 阅读 · 0 评论 -
水仙花数和回文数
水仙花数什么是水仙花数:所谓的水仙花数是指一个三位数,其各位数字的立方和等于该数本身。举例: 1531∗1∗1+5∗5∗5+3∗3∗3=1+125+27=1531*1*1 + 5*5*5 + 3*3*3 = 1 + 125 + 27 = 1531∗1∗1+5∗5∗5+3∗3∗3=1+125+27=153Java语言获取100-1000以内的水仙花数:运行控制台输出:153 370...原创 2018-12-17 18:01:37 · 904 阅读 · 0 评论 -
杨辉三角
杨辉三角import java.util.Scanner;/** * 需求:打印杨辉三角(行数通过键盘录入) * * 1 * 1 1 * 1 2 1 * 1 3 3 1 * 1 4 6 4 1 * 1 5 10 10 5 1 * 分析:杨辉三角的规律 * A:任何一行的第一列跟最后一列都是1 * B:从第三行开始,每一个数据时它上一行的前一列和上一行的本列之...原创 2018-12-18 10:54:17 · 621 阅读 · 0 评论 -
面向对象思想概述
面向对象思想概述面向对象思想面向对象是基于面向过程的编程思想。面向过程:强调的是每一个功能的步骤面向对象:强调的是对象,然后由对象去调用功能面向对象的思想特点A:是一种更符合我们思想习惯的思想B:可以将复杂的事情简单化C:将我们从执行者变成了指挥者举例:买电脑:面向过程:我的了解电脑–了解我自己的需求–找对应的参数信息–去中关村买电脑–讨价还价–买回电脑面向对象:我...原创 2018-12-18 11:21:50 · 198 阅读 · 0 评论 -
请求转发与重定向的区别
请求转发与重定向的区别重定向发送多次请求,请求转发只发送一次请求重定向地址栏发生改变,请求转发地址栏不点重定向不可以共享request对象,请求转发可以共享request对象重定向是响应发起的,请求转发是请求发起的重定向是绝对路径,请求转发是相对路径重定向可以跳转到任意资源,请求转发只能在项目内部跳转...原创 2018-12-24 15:46:44 · 164 阅读 · 0 评论 -
Java - static关键字的特点和注意事项
static关键字的特点和注意事项static修饰对象static关键字的特点static关键字的注意事项static修饰对象可以修饰成员变量和成员方法。例: public static String str = "小红"; public static void show(){ System.out.println("小红喜欢蝴蝶"); }static关键字的特...原创 2018-12-25 15:15:17 · 325 阅读 · 0 评论 -
静态变量和成员变量的区别
静态变量和成员变量的区别所属不同静态变量属于类,所以也称为类变量成员变量属于对象,所以也称为实例变量(对象变量)内存中位置不同静态变量存储于方法区的静态区成员变量存储在堆内存内存出现的时间不同静态变量随着类的加载而加载,随着类的消亡而消亡成员变量随着对象的创建而创建,随着对象的消亡而消亡调用不同静态变量可以通过类名调用,也可以通过对象调用成员变量只能通过对象名...原创 2018-12-25 17:48:25 · 186 阅读 · 0 评论 -
代码块的概述、分类以及执行顺序
代码块的概述、分类以及执行顺序概述分类执行顺序概述在Java中,使用{}括起来的代码被称为代码块。分类根据其位置和声明的不同,可以将代码块分为:局部代码块:局部位置,用于限定变量的声明周期。构造代码块:在类中的成员位置,用{}括起来的代码。每次调用构造方法都会先执行构造代码块。作用:可以把多个构造方法中的共同代码放到一起,对对象进行初始化。静态代码块:在类中的成员位置,用{}括起...原创 2018-12-25 18:52:52 · 182 阅读 · 0 评论 -
获取任意范围内的随机数
Math获取任意范围内的随机数需求:请设计一个方法,可以实现获取任意范围内的随机数。分析:A:键盘录入两个数据。int strat;int end;B:想办法获取在start到end之间的随机数我写一个功能实现这个效果,得到一个随机数。(int)C:输出这个随机数 import java.util.Scanner public class MathDemo {...原创 2019-01-24 12:06:15 · 929 阅读 · 0 评论 -
Random类有参构造和无参构造的区别
Random类有参构造和无参构造的区别构造方法public Random();//没有给种子,用的是默认种子,默认当前时间的毫秒值public Random(long seed);//给定指定的种子区别:给定种子后,每次生成的随机数是相同的成员方法public int nextInt();//生成int范围内的随机数public int nextInt(int n);//生成[...原创 2019-01-24 14:58:57 · 1342 阅读 · 1 评论 -
数据类型转换案例练习
数据类型转换案例练习案例:由上图我们可以看出,当我们定义三个byte类型的变量,给b1,b2赋值,b没有值是首先我们让b1与b2相加,这时候还不等我们运行程序,编译器就已经报错,提示“change type of ‘b’ to int”错误信息,当我们强行运行后,控制台爆出“cannot convert from int to byte”错误信息,意思是:“无法将int转换为字节”。这就...原创 2018-12-14 19:34:05 · 1049 阅读 · 0 评论