自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(13)
  • 资源 (1)
  • 收藏
  • 关注

原创 深入理解静态内部类实现单例模式

public class SingletonDemo3 { private static class SingletonClassInstance{ private static final SingletonDemo3 instance=new SingletonDemo3(); } private SingletonDemo3...

2019-08-31 17:14:04 1743

原创 悲催!!!把null字符串看成null

铭记 太惨了在编译器真的很难看出来

2019-08-22 17:38:35 1808

原创 java8(三)默认方法 冲突的解决

我们知道java只允许单继承类,但可以多继承接口。默认方法的实现,为API更新换代带来方便的,也留下了不少麻烦。每个接口都可以实现默认接口,而且是同样的签名。这个类去实现他们这些接口。那该如何继承有三条规则1.类和父类的优先级最高,高于任何的默认方法如果你继承了一个接口和类,且有一个方法有相同的签名,那就要听从父类的。不管父类的方法是不是抽象的,如果父类的方法是抽象的那你就必须...

2019-08-16 11:08:25 1807

原创 对于面向过程和面向对象的理解

程序员吧数据和过程分别作为独立的部分来考虑,数据代表问题空间中的客体。程序代码则用于处理这些数据。这种思维方式直接站在计算机的角度去抽象问题和解决问题。是面向过程站在现实世界的角度去抽象和解决问题,把数据和行为看做是对象的一部分。是面向对象...

2019-08-12 15:41:21 1928

原创 java虚拟机(十)synchronized是如何实现可见性和有序性的,和volatile的区别

大家都知道 synchronized 是锁。那怎么会实现可见性和有序性。volatile也能实现对吧。java内存模型是这么规定的关于主内存与工作内存之间的交互协议,即一个变量如何从主内存拷贝到工作内存。如何从工作内存同步到主内存中的实现细节。java内存模型定义了8种操作来完成。这8种操作每一种都是原子操作。8种操作如下:lock(锁定):作用于主内存,它把一个变量标记为一条线程独占...

2019-08-12 11:22:14 3557 5

原创 java虚拟机(九)编译是如何优化代码的

首先我们要明白优化代码,并不是建立在java的源码之上的。而是建立在代码的中间表达是或者机器码上面。公共子表达式消除如果一个表达式E已经出现过了。而且下面出现的E的所有变量值都没有发生改变,那就可以优化。如 a=b*c+r+c*b这里b*c和c*b是一样的。所以可以变成 a=e+r+e数组边界检查消除我们知道java是一门动态安全的语言。访问数组的时候,会进行上下界限的检...

2019-08-09 20:19:36 5927

原创 java虚拟机(八)语法糖

语法糖可以看成是编译器实现的一些功能。他们帮我们程序员特高代码开发效率。如泛型:泛型擦除前public static void main(String[] args) { Map<String, String> map = new HashMap<String, String>(); map.put("hello", "你好"); map.put("ho...

2019-08-09 10:05:19 1604

原创 spring使用了环绕通知后,全局异常捕获失效 解决办法

项目出现这个问题。本来全局异常捕获好好的。只要抛出自己写的自定义异常就会传给前端。但我加入了环绕通知后,发现全局异常失效了。来看看我的全局异常package com.yiban.suoai.exception;import com.yiban.suoai.exception.SAException;import org.aspectj.lang.annotation.Aspect...

2019-08-07 11:12:14 5455 8

原创 java并发(三)CopyOnWriteArrayList源码分析

先看前面一部分 private static final long serialVersionUID = 8673264195747942595L;//用于序列化 /** The lock protecting all mutators */ final transient ReentrantLock lock = new ReentrantLock();//锁 ...

2019-08-06 20:46:39 1585

原创 equals() 如果避免空指针异常

(o1 == null) ? o2 == null : o1.equals(o2);看源码的时候看到的。觉得有用,记录下

2019-08-06 20:02:56 2222

原创 Jenkins上传项目已经删除文件,但是Jenkins中没有删除

最近,本人在项目中删除一个文件,因为不删除就跑不起来。删除后上传到Jenkins后,还是跑不起来。去码云上看,发现确实已经把该文件删除掉了。接下来,我直接把项目打包成war,手动上传到服务器。发现,又可以跑起来了。于是我想是不是Jenkis有缓存?我就去看看Jenkins中有没有删除缓存的选项,结果看到对,清理工作空间。清理后会重新构建,这次构建就完全是你自己上传的,没有缓存。...

2019-08-06 11:26:36 3499 1

原创 Https讲解(这一篇就够了)

我们要知道,http存在的不足。才能值到https出现的原因1.使用明文,没有加密,可能会被窃听互联网上任何地方都可以窃听2.不知道对方的身份http协议谁都可以发起请求,也就是说,有可能是伪装的客户端。当然服务器也可以伪装,那你就不知道你要发送到的那台服务器是不是你想要的。3.无法证明报文的完整性,就是可能在传递的过程中被修改了。(不是报文的内容可以通过md5转换来验证报文的...

2019-08-06 10:10:54 3220 1

原创 java虚拟机(七)静态分派与动态分派

通过分派的讲解可以知道java中重载和重写在java虚拟机中是如何是实现的。静态分派package org.fenixsoft.polymorphic;/** * 方法静态分派演示 * @author zzm */public class StaticDispatch { static abstract class Human { } static class Ma...

2019-08-02 16:40:24 1622

简单的SpringMVC小项目(适合刚刚学的)

实现注册和登录的springmvc小项目。

2019-02-27

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除