juc线程间通信 两个线程,一个线程打印1-52,另一个打印字母A-Z打印顺序为12A34B...5152Z, 要求用线程间通信 1.synchronized实现 package com.liuyuanyuan.thread; import java.util.concurrent.locks.Co...
JUC上篇 1、JUC是什么? 2.首先要回忆一下什么是进程和线程。 进程:进程是一个具有一定独立功能的程序关于某个数据集合的一次运行活动。它是操作系统动态执行的基本单元,在传统的操作系统中,进程既是基本的分配单元,也是基本的执行单元。 线程:通常在一个进程中可以包含若干个线程,当然一个进程中...
zookeeper伪分布式集群搭建 1.linux安装包 导入zookeeper-3.4.11.tar.gz 到opt目录下 2.进入到opt目录下 cd /opt 3.解压tar -zxvfzookeeper-3.4.11.tar.gz 4.在opt下创建一个文件夹myzookeeper 5.将解压后的文件拷贝到...
垃圾回收算法 GC是什么(分代收集算法) 次数上频繁收集Young区 次数上较少收集Old区 基本不动Perm区 引用计数法 复制算法(Copying) 年轻代中使用的是Minor GC,这种GC算法采用的是复制算法(Copying) 复制算法原理 Minor GC会把Eden中的所...
mysql索引BTree和B+Tree分析 BTree索引 【初始化介绍】 一颗b树,浅蓝色的块我们称之为一个磁盘块,可以看到每个磁盘块包含几个数据项(深蓝色所示)和指针(黄色所示), 如磁盘块1包含数据项17和35,包含指针P1、P2、P3, P1表示小于17的磁盘块,P2表示在17和35之间的磁盘块,P3表示大...
mysql查询分析以及杂项 MySQL的sql_mode合理设置 sql_mode是个很容易被忽视的变量,默认值是空值,在这种设置下是可以允许一些非法操作的,比如允许一些非法数据的插入。在生产环境必须将这个值设置为严格模式,所以开发、测试环境的数据库也必须要设置,这样在开发测试阶段就可以发现问题。 show v...
Mysql 的用户与权限管理 mysql5.7 centos7.2安装点击 创建用户 create user zhang3 identified by '123123'; 表示创建名称为zhang3的用户,密码设为123123; 查看用户 select host,user,authentication_strin...
github GitHub是一个Git项目托管网站,主要提供基于git的版本托管服务 网址:https://github.com/ 注册账号注意事项 不要使用163的邮箱,有可能收不到验证码 较长时间不使用可能冻结GitHub账号。登录https://github.com/contact恢复申请 ...
git学习 git版本如何安装不再赘述 安装完成后 Git是分布式版本控制系统,所以需要填写用户名和邮箱作为一个标识。 C:\Users\administrator路径下的.gitconfig文件里面可以看到 --global 表示全局属性,所有的git项目都会共用属性 git comm...
nginx nginx是一个高性能的HTTP和反向代理服务器,特点是占用内存少,并发能力强 什么是反向代理? 正向代理是给客户端进行包装,穿了马甲,如黑客攻击某网站,如 反向代理是给服务端转个马甲,进行包装,如nginx 官网:http://ngin...
svn版本控制 一、svn(后悔药) 1、介绍 SVN全名Subversion,即版本控制系统。它将数据放置在一个中央仓库(repository)中。这个仓库很像一个普通的文件服务器,不过它会记住每一次文件的变动。这样你就可以把数据恢复到旧的版本,或是浏览文件的变动历史。Subversion是一个通用...
springcloud未完 1.spring案例开发,注册中心 <maven-jar-plugin.version>2.6</maven-jar-plugin.version> pom.xml <?xml version="1.0" encoding="UTF...
redis集群搭建 主配置redis.confdaemonize yes 是否开机启动protected-mode no 是否能允许外界访问#bind 127.0.0.1注了,不注意思是只能本机访问redis6379.confinclude /opt/myredis/redis.conf...
redis哨兵模式(sentinel)及其配置 一主两从三哨兵 哨兵模式基于redis主从复制,详细参考我写的博客https://my.oschina.net/architectliuyuanyuan/blog/3068255 创建vim sentinel.conf 里面加一句 指定端口号,必须指定 启动哨兵red...
redis 单机 主从服务器搭建 单机版安装,解压,拷贝一份,make install gcc ,make insatll gcc-c++,进入到redis解压目录,make编译,完成后,make install,安置完成了 该拷贝后的redis.conf里的配置,查资料,然后redis-server redis.conf ...
代理模式 代理Proxy:Proxy代理模式是一种结构型设计模式,主要解决的问题是:在直接访问对象时带来的问题代理是一种常用的设计模式,其目的就是为其他对象提供一个代理以控制对某个对象的访问。代理类负责为委托类预处理消息,过滤消息并转发消息,以及进行消息被委托类执行后的后续处理。为了保持行为...
工厂模式 package com.atguigu.test12;import org.junit.Test;/* * 设计模式: * 1、模板设计模式(了解):抽象类 * 2、单例设计模式(重点):多线程时 * 3、装饰者设计模式(IO流体系结构就体现了) * 4、迭...
反射 package com.atguigu.test06;import java.lang.reflect.Constructor;import java.lang.reflect.Field;import java.lang.reflect.Method;import jav...
类加载器分类和双亲委派机制 package com.atguigu.test03;import org.junit.Test;/* * 一、类加载的过程由类加载器来完成。 * 类加载器: * 1、引导类加载器(Bootstrap Classloader):又称为根类加载器 * 加载Jav...
类加载 /* * 类的加载: * 1、加载: * 把字节码读取到内存 * 2、连接 * (1)验证 * (2)准备: * 例如:给类变量(静态变量)在方法区分配内存,非final的赋默认值,但是如果是final的,直接赋常量值。 * (3)解析 * 虚拟...