JAVA
JAVA开发猿
这个作者很懒,什么都没留下…
展开
-
JAVA功能模块开发
https://blog.csdn.net/wdvceafvcsrgfv/category_6943478.html转载 2020-10-26 11:43:54 · 586 阅读 · 0 评论 -
压力测试
1.从压力测试说起压力测试的理解,xxx的性能10w/s,对你有意义么?没有那家卖瓜的会说自己家的不甜,同样,没有哪个开源项目愿意告诉你在对它条件最苛刻的时候压力情况是多少,一般官网号称给你看的性能指标都是在最理想环境下的,毫无参考意义。举个栗子,Redis官网压测的例子,256字节的读速度11w/s,写速度8.1w/s,都知道redis优点是多变的数据结构,string、List、hash、set、sortset,实际工作稍微复杂的环境往往都是各种结构混合使用,字符串长度各异,你需要的是真正在你的转载 2020-10-04 00:05:03 · 399 阅读 · 0 评论 -
自旋、偏向锁、轻量级锁、重量级锁
java中每个对象都可作为锁,锁有四种级别,按照量级从轻到重分为:无锁、偏向锁、轻量级锁、重量级锁。并且锁只能升级不能降级。自旋现在假设有这么一个场景:有两个线程A,B在竞争一个锁,假设A拿到了,这个时候B被挂起阻塞,一直等待A释放了锁B才得到使用权。在操作系统中阻塞和唤醒是一个耗时操作,如果A在很短的时间内就释放了锁,当这个时间与阻塞唤醒比较起来更短的时候,我们将B挂起,其实不是一个最优的选择。自旋是指某线程需要获取锁,但该锁已经被其他线程占用时,该线程不会被挂起,而是在不断的消耗CPU的时间,不停原创 2020-10-03 22:02:40 · 196 阅读 · 0 评论 -
单例模式双重检验锁的volatile和两次判空
首先是代码,经典的双重锁写法。public class Singleton { private volatile static Singleton Instance; private Singleton(){} public static Singleton getInstance(){ if(Instance == null){ synchronized(Singleton.class){ if(Instan原创 2020-10-01 11:36:38 · 772 阅读 · 0 评论 -
get和post的使用场景
GET和POST两种方法都是将数据送到服务器。HTTP标准包含这两种方法是为了达到不同的目的。POST用于创建资源,资源的内容会被编入HTTP请示的内容中。例如,处理订货表单、在数据库中加入新数据行等。当请求无副作用时(如进行搜索),便可使用GET方法;当请求有副作用时(如添加数据行),则用POST方法。一个比较实际的问题是:GET方法可能会产生很长的URL,或许会超过某些浏览器与服务器对URL长度的限制。若符合下列任一情况,则用POST方法:请求的结果有持续性的副作用,例如,数据库内添加新的数据原创 2020-07-19 23:31:32 · 756 阅读 · 0 评论 -
接口的作用
1.约束2.定义一些方法,让不同的人去实现(例如让10个员工去实现一个接口,但是有十种不同的实现方式)3.方法默认是publc abstract4.常量默认是public statict final5.接口不能比实例化,接口中没有构造方法6.implements可以实现多个接口7.实现接口必须重写接口中的方法...原创 2020-03-07 15:16:31 · 101 阅读 · 0 评论 -
Server returns invalid timezone
IDEA连接数据库的时候连接不上,并且报了一个错误Server returns invalid timezone原因:服务器返回无效时区解决方案:转到“高级”选项卡并手动设置“serverTimezone”属性,在右边空白处填上 Asia/Shanghai,然后点击右下角apply,重新回到General测试连接,然后不再报错,连接成功了...原创 2020-02-17 00:10:42 · 634 阅读 · 0 评论 -
The driver is automatically registered via the SPI and manual......
IDEA运行程序的时候报错,查了一下,最后发现是mysql升级后的版本变化导致的,需要更改一下文件位置。将数据配置文件里spring.datasource.driver-class-name=com.mysql.jdbc.Driver修改为spring.datasource.driver-class-name=com.mysql.cj.jdbc.Driver这样就可以成功运行了...原创 2020-02-16 23:59:12 · 2253 阅读 · 0 评论 -
MyBatis使用注解简洁实现CRUD
//根据id查询用户@Select("select * from user where id = #{id}")User selectUserById(@Param("id") int id);//添加一个用户@Insert("insert into user (id,name,pwd) values (#{id},#{name},#{pwd})")int addUser(User us...原创 2020-02-10 15:08:41 · 125 阅读 · 0 评论 -
Maven资源导出问题
Maven由于它的约定大于配置,可能在开发过程中遇到我们写的配置文件,无法被导出或者生效的问题,尝试在Maven中加上如下配置。 <!--在build中配置resources,来防止我们资源导出失败的问题--> <build> <resources> <resource> ...原创 2020-02-10 14:17:18 · 2188 阅读 · 0 评论 -
对二维数组第一个数字排序
定义一个二维数组,其中所包含的一维数组具有两个元素Arrays.sort(intervals,new Comparator<int[]>)(){ @Override public int compare(int[] a,int[] b){ //其中a[0]-b[0]表示对于第二个元素经行升序,排序如果为b[0]-b[0]则表示为降序 return a[0]-b[0]; }...原创 2019-11-30 15:09:03 · 1625 阅读 · 1 评论 -
代码调试纠错
在编译器上运行字母异位词分组算法代码时候,发现控制台一直都是在输出一个1,程序也没有报错开始我以为是main函数里输出写法有问题,修改完了以后发现还是一直输出1尝试着调试了半天,还是一直这样,然后开始怀疑是不是编译器出了问题,索性打开CMD把代码复制过去编译,然后竟然输出了正确的结果。回到编译器里去检查了一下,结果发现同一个工程里已经有两个main函数了,把之前的用来调试的main函数删了以...原创 2019-11-27 15:10:35 · 712 阅读 · 0 评论