自定义博客皮肤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)
  • 收藏
  • 关注

原创 docker常用命令

docker常用命令容器生命周期管理启动/停止容器docker start 容器名/ID:启动一个或多个已经被停止的容器docker stop 容器名/ID:停止一个运行中的容器docker restart 容器名/ID :重启容器docker run [OPTIONS] IMAGE [COMMAND] [ARG…]创建一个新的容器并运行一个命令常用OPTIONS-a stdin: 指定标准输入输出内容类型,可选 STDIN/STDOUT/STDERR 三项;-d: 后台运行容器,

2021-01-31 21:29:45 154

原创 docker安装并使用mysql

docker拉取MySQL 版本访问docker官网(https://hub.docker.com/)搜索mysql镜像使用命令docker pull mysql:版本号拉取mysql镜像,默认拉取最新docker启动mysql容器使用命令docker images获取镜像列表使用命令docker run -itd --name mysql-test -p 3306:3306 -e MYSQL_ROOT_PASSWORD=123456 mysql:5.6.50运行mysql容器-p 33

2021-01-31 21:09:08 122

原创 二叉树遍历

本文主要参考资料:https://mp.weixin.qq.com/s?__biz=MzUxNjY5NTYxNA==&mid=2247484654&idx=1&sn=0c22c8b8771acc2387bf37ac255749f0&scene=21#wechat_redirect深度遍历递归遍历递归算法的三要素确定递归函数的参数和返回值确定终止条件:如果递归没有终止,操作系统的内存栈必然就会溢出。确定单层递归的逻辑:确定每一层递归需要处理的信息,可能会重复调用自

2020-12-07 00:01:45 131

原创 二叉树

本文主要参考资料:https://zhuanlan.zhihu.com/p/272791799二叉树理论基础二叉树种类1)满二叉树2)完全二叉树3)平衡二叉树4)二叉搜索树二叉树存储方式链式存储顺序存储如果父节点的数组下表是i,那么它的左孩子就是i * 2 ,右孩子就是 i * 2 + 1。二叉树遍历方式深度优先遍历1)前序遍历(递归法,迭代法)2)中序遍历(递归法,迭代法)3)后序遍历(递归法,迭代法)递归与迭代的区别(https://www.jianshu.com/p

2020-12-06 23:41:53 98

原创 Java8-函数式编程

1 函数式编程特点函数可作为返回值限制副作用:限制修改函数外部的状态的途径 显式函数:函数与外界交换数据的唯一渠道是参数和返回值 隐式函数:除参数和返回值外,还会读取或改变外部信息声明式:操作被封装到程序库中,不需要指定明确的执行语句,只需声明需求 public void imperative() { int[] iArr= {1,3,4,5,6,2}; for(int i=0...

2019-11-17 16:16:18 206

原创 Java高并发(六)-Java8/9/10

1 Java8的函数式编程函数式编程特点函数可作为返回值限制副作用:限制修改函数外部的状态的途径 显式函数:函数与外界交换数据的唯一渠道是参数和返回值 隐式函数:除参数和返回值外,还会读取或改变外部信息声明式:操作被封装到程序库中,不需要指定明确的执行语句,只需声明需求 public void imperative() { int[] iArr= {1,3,4,5,6,2}; ...

2019-11-15 09:55:22 270

原创 Java高并发(五)--并行模式与算法

单例模式单例模式的优点对于频繁使用的对象,可以省略new操作花费的时间减少了对象的数据,减低了内存占用,也减轻了GC压力单例模式的特点类构造器私有持有自己类型的属性对外提供获取实例的静态方法单例模式的实现参考文章:安全懒汉式:https://www.jianshu.com/p/3bfd916f2bb2枚举懒汉式:https://www.cnblogs.com/chic...

2019-11-08 14:54:42 481

原创 Java高并发(三.四)-JMH性能测试

性能测试的原因部分并发程序是由串行程序改造而来,需要比较两种算法的性能由于业务原因引入多线程,多线程并发控制导致性能损耗,评估损耗比重是否能够接受.4.1 JMHJMH ( Java Microbenchmark Harness ) 是一个在 OpenJDK 项目中发布的, 专门用于性能测试的框架, 其精度可以到达毫秒级.4.2 JMH简单使用导入JMH包使用Maven导入,p...

2019-10-30 10:30:29 660

原创 Java高并发(三.三)--JDK并发容器

JDK并发容器ConcurrentHashMap:线程安全的HashMapCollections.synchronizedMap()public static <K,V> Map<K,V> synchronizedMap(Map<K,V> m) { return new SynchronizedMap<>(m);}Synchronize...

2019-10-29 15:25:09 181

原创 java高并发(三.二)--线程复用:线程池

线程的生命周期线程在创建后,通过start执行了run方法后,会被自动回收。复用线程的原因线程频繁创建和关闭花费大量时间线程本身占用内存,创建过多线程可能导致OOM线程池线程池中存放空闲线程,每当有任务执行,不再创建线程而是从线程池中获取,任务执行完后,将线程归还给线程池.JDK对线程池的支持...

2019-10-24 20:26:02 232

原创 java高并发(三.一)--JDK并发包之同步控制

多线程的团队协作: 同步控制同步控制方法synchronized关键ziwait(),notify()方法重入锁关键字 synchronized 的功能扩展: 重入锁重入锁可以替代synchronized重入锁使用 java.uti1.concurrent.Locks.ReentrantLock 类来实现在这里插入代码片...

2019-10-23 14:17:34 207

原创 java高并发(二)--Java并行程序基础

有关线程必须知道的事进程:程序运行的实体,是系统资源分配和调度的基本单位.线程:进程是线程的容器,而线程是轻量级进程;是cpu调度的基本单位.因此线程切换的成本远小于进程.线程的生命周期线程的状态保存在Thread中的State枚举中public enum State {NEW,RUNNABLE,BLOCKED,WAITING,TIMED _WAITING,WAITING,...

2019-10-20 15:26:52 240

原创 Java高并发(一)--走进并行世界

何去何从的并行计算并行计算遇到的问题 1. Linus Torvalds认为并行计算只能用于图像处理和服务端编程 2. 摩尔定律失效:CPU 主频的提升己经明显遇到了一些暂时 不可逾越的瓶颈并行计算的进步1. 新摩尔定律:每24/18月,cpu核心数翻一番并行的基本概念同步:同步方法一经调用,调用者必须要等到方法结束后才能进行后续操作异步:类似消息传递,异步方法一旦开始,...

2019-10-09 00:00:23 688

空空如也

空空如也

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

TA关注的人

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