
Java
humorrr
这个作者很懒,什么都没留下…
展开
-
配置mybatis-plus的xml遇到的坑
今天配置mybatis-plus遇到的坑classpath相当于编译之后的classes目录,classpath*相当于读多个文件,** 代表匹配多层目录, *匹配多个字符在maven的pom中加如下配置,才能在编译的时候把java目录中的xml文件带进去。<build> <resources> <resource> <directory>s...原创 2020-10-12 19:08:12 · 850 阅读 · 0 评论 -
深入理解Synchronized关键字底层原理及作用
https://blog.youkuaiyun.com/Imobama/article/details/81119812原创 2019-10-20 10:52:38 · 312 阅读 · 0 评论 -
有向图邻接表
邻接表有向图是指通过邻接表表示的有向图。有向图可以理解为一种数据结构,处理特定场景的问题会比较简单对于java来说,用map实现有向图比较便于进行查找操作。实现有向图这种数据结构并不困难,难的是如何对有向图遍历。下面代码中route是每一条有向的道路,它存在起始点和终点,唯一名称,长度等,town对应每个点,其中有一个包含所有以自身为起点的路的map集合如果做不重复遍历一定...原创 2019-01-11 18:18:09 · 10620 阅读 · 0 评论 -
HashMap在多线程下的死锁和覆盖原因
HashMap在jdk7之前,会产生死链和数据丢失这个问题HashMap进行存储时,如果size超过当前最大容量*负载因子时候会发生resize,首先看一下resize原代码void resize(int newCapacity) { Entry[] oldTable = table; int oldCapacity = oldTable.length;...原创 2019-01-12 22:31:47 · 1227 阅读 · 0 评论 -
RSA的简单认识
RSA是一种非对称加密算法,密钥分为公钥和私钥,私钥加密的内容,只有用公钥或者私钥来解密,公钥加密的内容,只能用私钥来解密,公钥可以发送给别人,私钥一定要保存着自己手里。举个例子,别人想和我发信息,所以我先给别人一个带锁的箱子,这个箱子就是公钥,箱子的钥匙就是私钥,私钥一直在我手里,这样,即使在信息的传输过程中被窃取了,由于没有私钥,也无法解密。RSA 也可以用来为一个消息签名。对消息...原创 2019-01-12 23:08:46 · 467 阅读 · 0 评论 -
JAVA单例模式
五种单例模式1.懒汉public class Singleton { private static Singleton instance=null; private Singleton(){ } public static Singleton getInstance(){ if(instance==null){ ...原创 2019-01-08 11:54:48 · 128 阅读 · 0 评论 -
String知识点
String s2=s1+"b";//是调用stringBuffer操作并创建一个String对象也就是说+操作符使用StringBuffer的append方式实现的最后返回一个新创建的String对象而不是string常量。"a"+"b"等价于"ab",只是生成一个字符串常量,保存在栈中而String s2=s1+"b";保存在堆中。凡是字符串变量与字符串变量或者字符串常量之间使用+都会产生...原创 2019-01-08 13:02:04 · 174 阅读 · 0 评论 -
子类与父类实现多态的注意点
若子类重写了父类方法,就意味着子类里定义的方法彻底覆盖了父类里的同名方法,系统将不可能把父类里的方法转移到子类中对于实例变量则不存在这样的现象,即使子类里定义了与父类完全相同的实例变量,这个实例变量依然不可能覆盖父类中定义的实例变量。简单来说,方法可以被覆盖,属性不可以被覆盖。 public class FieldMethodTest { public static void ...原创 2019-01-16 11:05:54 · 1033 阅读 · 0 评论 -
多线程中的判断建议用while,不用if
首先一句话总结,之所以用while是因为线程被唤醒后,很可能已经不满足判断条件了,所以要再进行一次条件判断。例如:synchronized (monitor) { //判断条件是否得到满足 if(!locked) { //等待唤醒 monitor.wait(); } //业务逻辑 ......}假如此刻其他线程...原创 2019-05-12 16:15:13 · 1283 阅读 · 0 评论 -
解决IDEA maven 打包老是自动使用1.5的JDK问题
idea默认maven打包的java版本是1.5若想用1.8的版本打包,可以在pom.xml里面设置jdk版本,但是每次这样设置的话太麻烦。也可以这样,直接改设置maven的settings.xml,以后创建的maven工程都是你想要的版本!打开apache-maven-3.5.4\conf文件下的settings.xml文件在180行左右的profiles标签内加入这么一段话,如...原创 2019-07-26 21:57:27 · 1475 阅读 · 0 评论 -
Response中set-cookie里的值不能写入浏览器cookie的原因
今天遇到一个坑,发现请求响应头中的set-cookie的值不能写入浏览器cookie中。解决的办法是,响应头中的 cookie 是带有 domain 属性的(domain=0.0.1),而从 Request URL 中可以看到,我们发起请求的域名是 leyou.com,请求和响应的 domain 不匹配,浏览器就帮你自动忽略了。然后在后端进行修改,并设置了nginx中的头信息,解决了这一问...原创 2018-12-30 20:58:05 · 26186 阅读 · 5 评论 -
java中的各种引用
在Java语言中,除了基本数据类型外,其他的都是指向各类对象的对象引用;Java中根据其生命周期的长短,将引用分为4类。1 强引用特点:我们平常典型编码Object obj = new Object()中的obj就是强引用。通过关键字new创建的对象所关联的引用就是强引用。 当JVM内存空间不足,JVM宁愿抛出OutOfMemoryError运 行时错误(OOM),使程序异常终止,也不会靠...原创 2019-01-04 17:05:28 · 152 阅读 · 0 评论 -
Java中用异或交换值
一般实现两个变量之间的互换要用第三个变量,这样做可以,但创建新变量,增加了系统开销。如果要交换的变量时两个整数型变量,可以用更高效的方法。例如:^(异或)操作,举例如下:import java.util.Scanner; public class VariableExchange { public static void main(String args[]){ Scanner原创 2017-09-10 21:09:44 · 732 阅读 · 0 评论 -
Java中使用装饰器的场合
1.当我们需要在不影响其他类的状况下,以动态、透明的方式为类添加功能2.当不适合使用继承,又想进行方法扩展的时候3.装饰器含有一定的递归思想...原创 2017-09-20 22:31:46 · 576 阅读 · 0 评论 -
Java中的不可变类
不可变类(Immutable Objects):当类的实例一经创建,其内容便不可改变,即无法修改其成员变量。可变类(Mutable Objects):类的实例创建后,可以修改其内容。Java 中八个基本类型的包装类和 String 类都属于不可变类,而其他的大多数类都属于可变类。与引用不可变的区别需要特别注意的是,不可变类的不可变是指该类的实例不可变而非指向该实例的引用的不可变。...原创 2018-10-22 20:13:25 · 132 阅读 · 0 评论 -
Java checked 异常 和 RuntimeException(运行时异常)
见我的收藏原创 2018-10-23 11:44:24 · 206 阅读 · 1 评论 -
java中的instenceof关键字
java 中的instanceof 运算符是用来在运行时指出对象是否是特定类的一个实例。instanceof通过返回一个布尔值来指出,这个对象是否是这个特定类或者是它的子类的一个实例。用法: result = object instanceof class 参数: Result:布尔类型。 Object:必选项。任意对象表达式。 Class:必选项。任意已定义的对象类。 说明: ...原创 2018-10-25 21:18:34 · 1018 阅读 · 0 评论 -
maven中无法创建servlet
在maven项目的时候在新建servlet类的时候,会发现找不到项目名称解决方法:右击项目–》点击properties–》点击project facets 再点击 convert to faceted form 出现下面页面 在Dynamic web module 前打勾,同时也可以选择版本号。这时你会发现可以建servlet类 而且右键点击项目的时候 java ee tools...原创 2018-11-02 23:33:30 · 1198 阅读 · 0 评论 -
SpringSecurity之加密篇
版权声明:本文为博主songhj原创文章,转载请标明出处,尊重知识,分享知识。 https://blog.youkuaiyun.com/Leo_songHJ/article/details/83277350SpringSecurity之加密篇—BCryptpassword类1. 要点概括BCryptpassword类是SpringSecurity的加密工具,封装了对密码混淆加密的方法,主要是采用盐(sa...原创 2018-12-06 14:06:57 · 326 阅读 · 0 评论 -
pageHelper分页助手
今天看了看pagehelper的相关东西,发现它的原理是通过配置了一个mybaits拦截器,拦截到PageHelper.startPage(page, rows);之后第一个查询语句,然后将其拼接成不同的sql再进行查询 @Override public String getPageSql(String sql, Page page, CacheKey pageKey)...原创 2018-12-16 19:28:09 · 280 阅读 · 0 评论 -
什么是编译型语言?什么事解释型语言?java是解释型语言吗?
编译型语言:C/C++、 Pascal(Delphi)编译就是把源代码(高级语言,人类容易读,容易理解)转换成机器码(CPU能理解,能高效的执行)解释型语言:JavaScript、Perl、Python、Ruby解释就简单多了,解析源代码,并且直接执行,没有编译过程编译程序是整体编译完了,再一次性执行。 而解释程序是一边解释,一边执行JAVA语言是一种编译型-解释型语言,同时具...原创 2019-01-04 10:25:56 · 1038 阅读 · 0 评论 -
Java中的单例化
plbulic class SignleMode{ private SignleMode me = null; private SignleMode; publice SingleMode getInstace(){ if(me==null) me= new SignleMode; return me;}}原创 2017-09-17 23:36:15 · 244 阅读 · 0 评论