返回顶部
摘要: final可以修饰变量,方法和类,也就是final使用范围基本涵盖了java每个地方,我们先依次学习final的基础用法,然后再研究final关键字在多线程中的语义。 一、变量 变量,可以分为成员变量以及方法局部变量,我们再依次进行学习。 1.1 成员变量 成员变量可以分为类变量(static修饰的 阅读全文
posted @ 2019-07-23 13:58 茶底世界 阅读(4051) 评论(0) 推荐(1) 编辑
摘要: 上一篇学习了synchronized的关键字,synchronized是阻塞式同步,在线程竞争激烈的情况下会升级为重量级锁,而volatile是一个轻量级的同步机制。 前面学习了Java的内存模型,知道各个线程会将共享变量从主内存中拷贝到工作内存,然后执行引擎会基于工作内存中的数据进行操作处理。一个 阅读全文
posted @ 2019-07-10 13:32 茶底世界 阅读(3706) 评论(1) 推荐(3) 编辑
摘要: 继续Linux命令学习,没有什么捷径,每个命令都去敲几遍就熟悉了,第二篇学习的是一些比较实用类的命令,主要是从开发的角度进行学习,并不深入,话不多说,开始! 一、系统管理类 1.1 stat --stat 显示指定文件的相关信息,比ls命令显示内容更多 1.2 who --显示在线登录用户 1.3 阅读全文
posted @ 2019-07-06 09:19 茶底世界 阅读(284) 评论(0) 推荐(0) 编辑
摘要: 上一篇中学习了线程安全相关的知识,知道了线程安全问题主要来自JMM的设计,集中在主内存和线程的工作内存而导致的内存可见性问题,及重排序导致的问题。上一篇也提到共享数据会出现可见性和竞争现象,如果多线程间没有共享的数据也就是说多线程间并没有协作完成一件事情,那么,多线程就不能发挥优势,不能带来巨大的价 阅读全文
posted @ 2019-07-03 15:58 茶底世界 阅读(995) 评论(0) 推荐(0) 编辑
摘要: 上一篇学习了多线程的一些基础知识:多线程的基本概念,及创建和操作多线程。内容相对简单,但多线程的知识肯定不会这么简单,否则我们也不需要花这么多心思去学习,因为多线程中容易出现线程安全问题。 那么什么是线程安全呢,定义如下: 当多个线程访问同一个对象时,如果不用考虑这些线程在运行时环境下的调度和交替运 阅读全文
posted @ 2019-06-30 23:36 茶底世界 阅读(2084) 评论(2) 推荐(0) 编辑
摘要: 一、基础概念 多线程的学习从一些概念开始,进程和线程,并发与并行,同步与异步,高并发。 1.1 进程与线程 几乎所有的操作系统都支持同时运行期多个任务,所有运行中的任务通常就是一个进程,进程是处于运行过程中的程序,进程是操作系统进行资源分配和调度的一个独立单位。 进程有三个如下特征: 独立性:进程是 阅读全文
posted @ 2019-06-25 23:31 茶底世界 阅读(2595) 评论(2) 推荐(4) 编辑
摘要: 一、引言 反射机制是一个非常好用的机制,C#和Java中都有反射,反射机制简单来说就是在程序运行状态时,对于任意一个类,能够知道这个类的所有属性和方法,对于任意一个对象,能够调用它的任意属性和方法,其实初听就知道反射是一个比较暴力的机制,它可能会破坏封装性。 通过反射的定义我们可以想到反射的好处:可 阅读全文
posted @ 2019-06-19 15:52 茶底世界 阅读(592) 评论(0) 推荐(0) 编辑
摘要: 一、引言 IO(输入/输出),输入是指允许程序读取外部数据(包括来自磁盘、光盘等存储设备的数据)、用户输入数据。输出是指允许程序记录运行状态,将程序数据输出到磁盘、光盘等存储设备中。 IO的主要内容包括输入、输出两种IO流,这两种流中又分为字节流和字符流,字节流是以字节为单位来处理输入、输出流,而字 阅读全文
posted @ 2019-06-17 23:45 茶底世界 阅读(979) 评论(0) 推荐(3) 编辑
摘要: 一、引言 Linux对java开发来说也是一项必备的技能,因为项目基本都是部署在Linux操作系统的服务器中,虽然项目不一定需要我们去部署,但不管是自己测试环境部署,还是一些生产环境中日志的查看,Linux操作系统都是免不了要去接触的。对于我们开发来说懂得基础的命令及简单shell脚本编写是必须的。 阅读全文
posted @ 2019-05-26 23:45 茶底世界 阅读(1093) 评论(1) 推荐(1) 编辑
摘要: 一、单体架构的问题 微服务为什么会出现?在学习Springboot的时候知道Springboot极大的简化了我们的开发,我们可以快速的进行业务开发,Springboot单体应用在项目的开发初期能够满足我们需求,这种单体架构优点非常的明显: 容易测试:本地就可以起完整的系统,不需要外部依赖。 容易开发 阅读全文
posted @ 2019-05-19 23:21 茶底世界 阅读(696) 评论(1) 推荐(2) 编辑