自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(15)
  • 收藏
  • 关注

原创 Java 中的 Serilizable 接口和 transient 关键字

Java 中的 Serilizable 接口和 transient 关键字Serilizable 接口Serilizable 接口是一个标识接口,没有方法和变量,jdk 中的描述为:实现了该接口的类具有可序列化性。所谓可序列化性即对象可以被序列化成字节码,用于存储到磁盘或者进行网络传输,同时又可以从字节码反序列化成对象。父类实现了 Serilizable 接口,其子类也是可序列化的。如果类...

2020-02-15 23:40:05 335

原创 Java 并发机制的实现原理

Java 并发机制的实现原理volatile 关键字被 volatile 声明的变量,Java内存模型会保证所有线程看到这个变量的值是一样的,在 Java 并发机制中,volatile 是比 synchronize 更轻量级的实现,主要原因是 volatile 不会引起线程上下文切换。被 volatile 声明的变量,底层实现上会发生下面两件事:1.将处理器缓存行的数据写回内存2.将其他...

2020-02-10 12:25:13 237

原创 Nginx 开启 gzip 优化加载速度

Nginx 开启 gzip 优化加载速度部署官网前端页面时,发现页面加载速度略慢,暂时没有接 cdn,所以考虑到开启 Nginx 的 gzip 进行优化。原理nginx 开启 gzip 可以使得响应报文在达到客户端之前进行压缩,从而节约带宽,提高页面响应速度。Nginx 会通过 ngx_http_gzip_module 模块拦截请求,对 nginx.conf 配置的开启 gzip 压缩的文件...

2020-02-09 18:10:11 682

原创 分布式系统中的 CAP 理论

CAP 理论在分布式系统中,Consistency(一致性)、Availability(可用性)、Partition tolerence(分区容错性)最多实现两点。在分布式系统中必须保证分区容错性,也就是说只能在一致性和可用性之间进行权衡。为什么 CAP 只能实现两点CA 满足的情况下, 即要求数据同步,同时响应要快,这样既必须减少节点数量,导致无法满足分区容错性CP 满足的情况下,即...

2019-09-23 22:33:40 114

原创 ThreadLocal

ThreadLocal1.什么是 ThreadLocalThreadLocal 提供线程局部变量,ThreadLocal 中的变量对其他线程可见,但是其他线程不能修改该变量。ThreadLocal 相当于可以为每个线程创建一个变量副本,在多线程的环境下保证各个线程的变量独立。2.ThreadLocal 的实现Thread 类中有一个 ThreadLocalMap 类型 的threadLoc...

2019-08-25 22:47:09 78

原创 Java 中的值传递与引用传递

值传递和引用传递值传递:所谓值传递指的是传递的是参数的拷贝,对这个拷贝的任何修改不影响原来的值。引用传递:引用传递指的是传递的是参数的内存地址的拷贝,通过引用拷贝的内存地址去修改参数的值会影响原来值。Java 中的值传递和引用传递一个普遍的说法是 Java 中的基本类型是值传递,而其他的类型属于引用传递。但是又有一种说法是 Java 中只存在值传递。通过学习垠神的博客 :总结出以下几点...

2019-08-19 23:41:16 58

原创 Java 多线程(二)

并发本文将通过一个实现了 ReentrantLock 和 Condition 的 Bank 类来梳理 Java 的并发加锁机制,该类源码来自《Java 核心技术卷1》,该 Bank 类模拟一个有若干账户的银行,并提供转账交易方法:import java.util.Arrays;import java.util.concurrent.locks.Condition;import java.u...

2019-04-05 11:02:06 148

原创 Java 多线程(一)

进程与线程操作系统运行一个程序时,会为其创建一个进程,而一个进程又可以创建多个线程,所以线程是操作系统调度的最小单位。进程有独立的地址空间和自己的一整套变量,而线程没有单独的地址空间,但是有自己的堆栈和局部变量,线程之间共享数据。Java 中多线程实现Java 中有三种创建多线程的方法:通过继承 Thread 类;通过实现 Runnable 接口;通过 Callable 和 Futu...

2019-04-04 10:19:22 96

原创 JavaSE(六) 集合框架1

1.Java 集合框架(1)集合的接口与实现分离Java 接口类库将接口(interface)和实现(implementation)分离。当程序中使用集合框架时,一旦构建后就不需要知道究竟使用了哪种实现。因此,只有在构建集合对象时,使用具体的类才有意义。使用接口类型存放集合的引用:Queue<Customer> q = new CircularArryQueue<>(...

2019-03-25 14:21:23 92

原创 JavaSE(五) 异常、断言和日志

异常分类异常对象都是派生于 Throwable 类的一个实例Error 类层描述了 Java 运行时系统的内部错误和资源耗尽错误;在设计 Java 程序中需要关注 Exception 层次,这个层次分为两个分支:RuntimeException 和 其他异常。属于 RuntimeException 包括:错误的类型转换数组访问越界(ArrayIndexOutOfBoundsExcep...

2019-03-15 15:21:35 154

原创 JavaSE(三) 继承

子类覆盖方法子类的方法不能直接访问父类的私有域,只有使用特殊关键字 super 里调用父类的方法才能去访问父类的私有域。特殊关键字 super thisthis 关键字有两个用途:(1)引用隐式参数 (2)调用该类的其他构造器;super 关键字也有两个用途:(1)调用超类的方法 (2)调用超类的构造器。super 不是一个对象的引用,不能将 super 赋值给一个对象变量。它只是一个特殊...

2019-03-14 11:35:34 104

原创 JavaSE(二) 对象和类

类之间的关系依赖(“uses–a”):一个类的方法操纵另一个类的对象,我们就说一个类依赖于另一个类。聚合 (“has-a”):类 A 的对象包含类 B 的对象,例如 Order 对象包含 Item 对象。继承 (“is-a”):类 A 拓展 类 B,类 A 不但包含从类 B 继承的方法,还有拥有一些额外的功能。对象和对象变量在 Java 中,任何对象变量的值都是对存储在另一个地方的对...

2019-03-12 20:03:23 93

原创 Spring IoC 容器

1.Ioc 概述Ioc (Inverse of Control) 是 Spring 容器的内核,字面意思为控制反转,包括控制和反转两方面内容。具体指的是某一接口具体实现类的选择控制权从调用类中移除,转交给第三方决定,即由 Spring 容器借由 Bean 配置来进行控制。 DI(Dependency Injection) 的概念也可以用来代替 IoC,即让调用类对某一接口实现类的依赖关系由第...

2019-03-11 15:57:22 129

原创 JavaSE(一) Java数据结构

1.数据类型java 中有八种基本数据类型,4种整型、2种浮点类型、1种用于表示 Unicode 字符编码的字符类型、一种表示真值的 boolean 类型。Java 中的 big number 为能够表示任意精度的算术包,它不是一种 java 类型还是 java 对象.(1)整型int(4B)、short(2B)、long(8B)、byte(1B)(2) 浮点类型float(4B)、...

2019-03-10 19:16:27 159

原创 Spring 事务

Spring 事务1.事务逻辑上一组操作,要么一起成功,要么一起失败。2.事务的特性原子性,一致性,隔离性(并发事务之间数据相互隔离),持久性(事务提交后,永久保存在数据库)3.Spring事务接口PlatformTransactionManager 事务管理器TransactionDefinition 事务定义信息TransactionStatus 事务具体运行状态...

2018-11-11 22:43:23 90

空空如也

空空如也

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

TA关注的人

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