摘要:
java使用IO流来处理不同设备之间数据的交互; 所有的IO操作实际上都是对 Stream 的操作 从功能上划分: 输入流: 当数据从源进入的编写的程序时,称它为输入流; 输出流: 从程序输出回另一个源成为输出流; 输入与输出是有参照物的,而这个参照物就是应用程序本身 从结构上划分: 总体的大纲分为 阅读全文
摘要:
本来打算docker安装es,和腾讯云上的服务器相比,一台赤裸裸的本地机,甚至连很多基础的指令都没有,还花样各种报错,对于我这种新手来说简直了,百度啊cddn啊终于整出来了,记录一下: 一:安装依赖 首先:es 依赖Lucene 而Lucene又依赖JVM.所以jdk的安装是免不了的 <! more 阅读全文
摘要:
拉呱,无论是当作全文检索工具,还是仅仅当作NOSQL,Elasticsearch的性能,牛的没法说!!!奈何和它相见恨晚 "点击进入官网" "中文文档" 一. 使用场景 <! more 全文检索 像淘宝京东类似的网上商城,当我们在在搜索框搜索某个商品名称时,网络没有问题的话,获取响应的速度,几乎和我 阅读全文
摘要:
常见的sql分类五种分类 1. DDL (Data Definition Language)数据库定义语言 2. DML (Data Manipulation Language)数据操作语言 3. DCL (Data Control Language)数据控制语言 4. TCL (Transacti 阅读全文
摘要:
DDL 数据定义语言 DDL是基于数据表级别的操作的统称, 对数据表的 创建 删 改 删除 drop 删除表,记录日志 truncate 删除表中的全部数据,不删除表,不记录日志 修改 alter 针对表中的字段.及字段的属性 add 添加列 modify 修改列的属性 drop 删除列 renam 阅读全文
摘要:
本篇博文,将整理关于 单例模式 (就是让一个类从始至终,只能产生一个对象,而且spring管理的类也全部是单例模式的)与 多线程 摩擦出的火花 1 . 懒汉模式(存在线程安全性问题) 懒汉模式 在使用的时候初始化对象 2 . 饿汉模式(简单粗暴,实现线程安全) 静态域 饿汉模式 在类加载的时候初始化 阅读全文
摘要:
定时/计算在java中主要使用的是Timer对象, 他的内部依然是采用多线程方式进行处理 它有四个构造方法 方法名 | 作用 | Timer() | 空参 Timer(String name) | 指定名字 Timer(boolean isDaemon) | 指定为守护线程 Timer(String 阅读全文
摘要:
JDK5提供原子类,及其操作 AtomicXXX是通过CAS , Unsafe.compareAndSwapInt实现的 简单分析一下原子类是如果使用cas,无锁却保证线程安全的 每条线程都有自己的本地缓存,他们要想操作变量,首先是把变量复制到自己的缓存中,然后处理数据,数据处理结束后,将自己缓存的 阅读全文
摘要:
前面我们可以使用synchronized关键字来实现线程之间的同步互斥, lock接口同样也是在JDK1.5中提出 ,同样是解决线程安全性问题的另一种解决方案,而且它更强大,更灵活本片博客介绍对其展开介绍; <! more Lock接口有如下几个实现类: ReentrantLock JDK实现的锁 阅读全文
摘要:
一 . 简介AQS AQS简介 在同步组件的实现中,AQS是核心部分,同步组件的实现者,通过使用AQS提供的 模板方法 实现同步组件语义<! more AQS实现了 对同步状态的管理 以及 阻塞线程进行排队 , 等待通知 等等一系列底层的实现处理 AQS核心: 使用Node实现同步队列,底层是个双向 阅读全文
摘要:
同步容器(使用的是synchronized,并且不一定是百分百安全) 本篇续 线程之间的通信 ,介绍java提供的并发集合,既然正确的使用wait和notify比较困难,java平台为我们提供了更高级的并发容器来替代 Vector&ArrayList Vector虽然它的set和get方法都被Syn 阅读全文
摘要:
线程池 线程池的优势 1:降低资源的消耗,通过重复利用已经创建的线程,降低线程的创建和销毁造成的资源的消耗 2:提高响应速度,当任务到达时,任务可以不需要去等待线程的创建就可以执行 3:提高线程的可管理,线程是稀缺资源,如果无限制的创建,会消耗系统的资源,降低系统的稳定性,但是使用线程池,可以进行统 阅读全文
摘要:
一. 等待通知机制的实现 方法名 | 作用 | wait() | 执行当前代码的线程等待 wait(long timeout) | timeout时间内若没有其他线程唤醒,也会醒过来 wait(long timeout, int nanos) | 超出timeout和额外的时间nanos,没有被其他 阅读全文
摘要:
synchronized(JVM实现的锁) 通过这两个关键字,我们可以很容易的实现同步多个任务的行为,可以实现同一时刻,只能有一条线程去访问共享资源 一: 修饰普通方法 多个线程,共同去竞争访问, 方法内部的变量 ,永远是线程安全的!!! 多个线程,共同去竞争访问 对象中的实例变量 ,可能导致非线程 阅读全文
摘要:
前言 线程驱动任务 ,而我们需要的就是一种任务的描述,而这个描述由Runable接口来提供,想定义任务,只需要实现Runable接口并重写里面的run()就好 Thread的构造方法 方法名 | 描述 | Thread() | 创建新线程对象 Thread(String name) | 创建新线程对 阅读全文
摘要:
拉呱:这是第一篇并发的博客,在后续的并发博文中,我会尽力整理出较全的关于并发的知识点,先却分开两个概念, 并发与高并发 <! more 就是多线程操作相同资源时如何保证数据安全,线程安全以及合理利用资源.和它仅一字只差的是 高并发 ,高并发是指 服务能够处理很多请求,比如12306的抢票,处理不好, 阅读全文