
java
ZixiangLi
再牛逼的梦想,也抵不住你傻逼似的坚持!
展开
-
记一次接入websocket过程中@ServerEndpoint和@Scope(“prototype“)、@Autowire、@Postconstruct一起使用不生效的原因分析
记一次接入websocket过程中@ServerEndpoint和@Scope(“prototype“)、@Autowire、@Postconstruct一起使用不生效的原因分析原创 2022-06-22 19:05:19 · 2635 阅读 · 0 评论 -
分布式开发之系统限流-滑动窗口、漏桶算法和令牌桶算法详解以及各自优缺点
限流算法:滑动窗口、漏桶算法、令牌桶算法原创 2022-04-26 19:50:34 · 3135 阅读 · 0 评论 -
Java8 Optional 常用api
public class OptionalExample { public static void main(String[] args) { testOfNullable(); testOrElseGet(); testFlatMap(); testPresent(); testFilter(); testEquals(); } /** * Optional.of方法基本.原创 2022-03-31 16:04:32 · 405 阅读 · 0 评论 -
Java8 CompletableFuture常用方法举例
public static void main(String[] args) throws ExecutionException, InterruptedException { // supplyAsync提供返回值 CompletableFuture<Integer> c1 = CompletableFuture.supplyAsync(() -> { return 1; }); // suppl.原创 2022-02-15 16:52:01 · 629 阅读 · 0 评论 -
Java类型转换(详细)
(1)数组=》 字符串:Arrays.toString(array);(2)字符串=》字符数组第一种:String.getChars(srcBegin,srcEnd,destn,destBegin);第二种:String.toCharArray();(3)字符=》字符串chara[]={‘a’,’b’,’c’};方法一:System.out...原创 2019-12-18 11:55:29 · 697 阅读 · 0 评论 -
实现多线程的四种方法
继承Thread类,重写run方法; 实现Runnable接口,重写run方法; 实现Callable接口,重写call方法; 通过线程池实现多线程(实现Runnable接口+Executors创建线程池);前2种方法无返回值,后2种方法有返回值。继承Thread类,重写run方法public class TTEST extends Thread{ @Override...原创 2018-12-06 19:56:58 · 260 阅读 · 0 评论 -
18至19分界线(请忽略此博客)
请忽略此博客原创 2018-12-24 17:36:27 · 224 阅读 · 0 评论 -
查看编译war包的jdk版本
通过cmd命令行查看jdk版本javap是jvm虚拟机中的文件分解器,它既可以反编译class文件,也可以查看java编辑器生成的字节码文件。注意:javap -v 后面只需写class文件的类名,不需要再跟.class,否则会报:could not find xxx.class有的时候会遇到这种情况:展示的信息太多会导致无法看全所有的信息,所以这里用2种方法:①将展示...原创 2018-12-05 09:59:26 · 2453 阅读 · 0 评论 -
String的intern方法详解
引言 在 JAVA 语言中有8中基本类型和一种比较特殊的类型String。这些类型为了使他们在运行过程中速度更快,更节省内存,都提供了一种常量池的概念。常量池就类似一个JAVA系统级别提供的缓存。8种基本类型的常量池都是系统协调的,String类型的常量池比较特殊。它的主要使用方法有两种:直接使用双引号声明出来的String对象会直接存储在常量池中。 如果不是用双引号声明的String...转载 2019-02-20 09:58:59 · 429 阅读 · 0 评论 -
java中如何造成死锁的?以及如何解决死锁
造成死锁的原因:1.在一个代码块中同时获得多个锁,导致多个线程同时执行代码时,获取锁之间相互依赖,从而导致锁“抱死”。例如,t1线程首先获得A锁,再获得B锁,t2线程先获得B锁,再获得A锁,当t1获得A锁的同时,t2获得了B锁的使用权,此时t1无法获取B锁,t2也无法获得A锁,线程一直等待,这就叫锁“抱死”。2.在同步代码块中调用了外部的同步方法(常见)下面我将结合实际情况分析账户...原创 2019-03-21 15:26:37 · 5167 阅读 · 0 评论 -
解决spring boot swagger ui使用 nginx 部署后无法使用问题
spring boot 使用 swagger ui做接口文档, 本地测试没有问题,但是部署到linux上时,访问域名,就会得到如下结果:解决办法:修改nginx配置文件: nginx/conf.d/default.conf原文件:server { listen 80; server_name quanke.name; loca...转载 2019-05-09 13:18:05 · 2717 阅读 · 0 评论 -
Java8 Stream(聚合操作)的常用api以及它和parallelStream的主要区别
/** * 构造Stream流的几种方式 */ //数组 String[] arr = new String[]{"a", "b", "c"}; Stream<String> stream = Arrays.stream(arr); Stream<String&g...原创 2019-07-01 15:39:44 · 1275 阅读 · 0 评论 -
float和double取值范围和精度问题
1.八种数据类型的分类如下: 第一类:整型 byte short int long第二类:浮点型 float double第三类:逻辑型 boolean(它只有两个值可取true false)第四类:字符型 char2.各种基本数据类型所占的字节:boolean 布尔型 1/8 byte 字节类型 1ch...转载 2018-11-09 19:21:12 · 4689 阅读 · 0 评论 -
java不可变类
定义不可变类指当类被实例化后,该类的成员变量均不可被改变。如JDK内部自带的很多不可变类:Interger、Long和String等。优点1.线程安全 2.易于构造、使用和测试 3.可以被自由地共享缺点对于每一个不同的值都需要对应一个单独的对象类设计原则1.class要用final修饰,保证类不能被继承;2.成员变量需要用private String来修饰...原创 2018-10-26 16:30:07 · 971 阅读 · 0 评论 -
java学习笔记-枚举类
枚举法本质其实就是一个类一、常量的使用public classenumeration { public enum color { red,black,green; } public static voidmain(String[] args) { showColor(color.red); } static原创 2017-02-08 11:43:46 · 376 阅读 · 0 评论 -
==和equals的区别
一)、基本数据类型:==比较值是否相等,因为基本类型不是对象,所以没有equals方法。 二)、对象Object类中的equals方法:Object.class: public boolean equals(Object anObject) { if (this ==anObject) { return true;原创 2017-01-17 12:03:02 · 297 阅读 · 0 评论 -
Java后台模拟生成GET/POST请求servlet
http://langgufu.iteye.com/blog/2159634转载 2017-08-10 09:19:00 · 557 阅读 · 0 评论 -
微信公众号支付报错:当前的url未注册解决方法
今天在做微信公众号支付的时候,前面授权openid,下单请求,都没问题;就是再获取到preypay_id,生成支付页面的时候,当点击支付的时候报了一个错误:当前的url为注册;原因:首先看我报错情况下的支付授权目录配置:此时我将支付授权目录配置如下:此时问题解决!总结:支付授权目录是当前页面url的上级目录;原创 2017-11-07 15:17:21 · 26148 阅读 · 0 评论 -
Jquery、Java解析html字符串成dom对象,遍历dom对象获取图片元素(或者其子元素)
Jquery、Java解析html字符串成dom对象,遍历dom对象获取图片元素(或者其子元素)使用 Jquery解析html: .parseHTML方法:将html字符串解析成dom对象,他返回的是一个array数组(包含其所有子元素).parseHTML方法:将html字符串解析成dom对象,他返回的是一个array数组(包含其所有子元素) (doms).children(“img”):原创 2017-12-01 18:23:30 · 3251 阅读 · 0 评论 -
Java中==和equals的区别(详细)
要想充分了解==和equals的区别需要对java的内存有所了解:Java内存模型中存在这两种内存区域:一种是栈内存,一种是堆内存。(注:程序计数器,运行时数据区,永久代,直接内存这里不讨论,因为java对象保存在栈内存(基本数据类型)和堆内存(引用数据类型和包装类)中) 在函数中定义的一些基本类型的变量和对象的引用变量(变量名)都在函数的栈内存中分配。 当在一段代码块定义一个变...原创 2018-01-11 18:08:16 · 3695 阅读 · 3 评论 -
Java基础-继承、重写、多态详解
继承:关键字:extends继承:子类继承父类(一个子类只能继承一个父类)子类可以继承父类的变量和方法,但是不能继承父类的构造方法。如果父类中的构造器有参数,则在子类构造器中第一行使用super([参数])调用父类构造器并配以适当的参数列表。如果父类中的构造器没有参数,则可以不用使用super(),自动调用父类无参构造器。 重写:继承=》重写方法名和参数列原创 2018-01-24 18:59:44 · 370 阅读 · 0 评论 -
Java中乱码问题汇总
1表单使用Post方式提交后接收到的乱码问题这个问题也是一个常见的问题。这个乱码也是tomcat的内部编码格式iso8859-1在捣乱,也就是说post提交时,如果没有设置提交的编码格式,则会以iso8859-1方式进行提交,接受的jsp却以utf-8的方式接受。导致乱码。既然这样的原因,下面有几种解决方式,并比较。A 接受参数时进行编码转换String str = newStr...原创 2018-01-29 10:13:57 · 485 阅读 · 0 评论 -
使用poi读取xls、xlsx文件
首先导入jar包:commons-collections 4-4.1jar poi 3.9.jar --核心jar包;poi-ooxml.3.9.jar --支持xlsx读取poi-ooxml-schemas 3.9.jar xmlbeans-2.6.0.jarmaven配置:读取excel工具类:package com.feosa.common.util;import java....原创 2018-05-08 18:06:29 · 28840 阅读 · 4 评论 -
在hibernate中使用wmsys.wm_concat函数时报ORA-00911:invalid character
首先我使用wmsys.wm_concat对某一列进行多行转单行,代码如下String sql ="select t.depno,wmsys.wm_concat(t.name) as name from tmp t group by t.depno";SqlQuery query = response.getSession().createSqlQuery(sql);query.addSc...原创 2018-09-07 20:07:53 · 712 阅读 · 0 评论 -
java读取properties文件的3种方法
Java 开发中,需要将一些易变的配置参数放置再 XML 配置文件或者 properties 配置文件中。然而 XML 配置文件需要通过 DOM 或 SAX 方式解析,而读取 properties 配置文件就比较容易。介绍几种读取方式:1、基于ClassLoder读取配置文件注意:该方式只能读取类路径下的配置文件,有局限但是如果配置文件在类路径下比较方便。1 P...原创 2018-09-20 17:20:27 · 1584 阅读 · 0 评论 -
java中的栈和堆(区别)
Java 中的堆和栈 Java把内存划分成两种:一种是栈内存,一种是堆内存。 在函数中定义的一些基本类型的变量和对象的引用变量(变量名)都在函数的栈内存中分配。 当在一段代码块定义一个变量时,Java就在栈中为这个变量分配内存空间,当超过变量的作用域后,Java会自动释放掉为该变量所分配的内存空间,该内存空间可以立即被另作他用。 堆内存用来存放由new创原创 2017-01-04 14:45:10 · 374 阅读 · 0 评论