05 2019 档案

摘要:转自:https://www.ibm.com/developerworks/cn/java/j-lo-javaio/ Java 的 I/O 类库的基本架构 I/O 问题是任何编程语言都无法回避的问题,可以说 I/O 问题是整个人机交互的核心问题,因为 I/O 是机器获取和交换信息的主要渠道。在当今这 阅读全文
posted @ 2019-05-30 22:36 xkzhangsanx 阅读(167) 评论(0) 推荐(0) 编辑
摘要:前言 本文描述Java线程线程状态及状态转换,不会涉及过多理论,主要以代码示例说明线程状态如何转换。 基础知识 1. 线程状态 Thread源码中的状态说明: 线程可以有6种状态: New(新建) Runnable(可运行) Blocked(被阻塞) Waiting(等待) Timed waitin 阅读全文
posted @ 2019-05-30 22:21 xkzhangsanx 阅读(200) 评论(0) 推荐(0) 编辑
摘要:在开发高并发系统时,有三把利器来保护系统:缓存、降级和限流。下面来看看限流量的一些算法: 1.计数器法: 它是限流算法中最简单最容易的一种算法,比如我们要求某一个接口,1分钟内的请求不能超过10次,我们可以在开始时设置一个计数器, 每次请求,该计数器+1;如果该计数器的值大于10并且与第一次请求的时 阅读全文
posted @ 2019-05-29 00:13 xkzhangsanx 阅读(263) 评论(0) 推荐(0) 编辑
摘要:常见的几种负载均衡算法 1、轮询法 将请求按顺序轮流地分配到后端服务器上,它均衡地对待后端的每一台服务器,而不关心服务器实际的连接数和当前的系统负载。 2、随机法 通过系统的随机算法,根据后端服务器的列表大小值来随机选取其中的一台服务器进行访问。由概率统计理论可以得知,随着客户端调用服务端的次数增多 阅读全文
posted @ 2019-05-29 00:00 xkzhangsanx 阅读(875) 评论(0) 推荐(0) 编辑
摘要:今天是JAVA诞生日,祝贺!!! 1995年5月23日,Sun公司在Sun world会议上正式发布Java和HotJava浏览器,Java诞生。 https://baike.baidu.com/item/Java/85979?fr=aladdin 阅读全文
posted @ 2019-05-23 22:25 xkzhangsanx 阅读(174) 评论(0) 推荐(0) 编辑
摘要:前言Spring是Java程序员基本不可能绕开的一个框架,它的核心思想是IOC(控制反转)和AOP(面向切面编程)。在Spring中这两个核心思想都是基于设计模式实现的,IOC思想的实现基于工厂模式,AOP思想的实现则是基于代理模式。 代理模式:代理类和被代理类实现共同的接口(或继承),代理类中存有 阅读全文
posted @ 2019-05-23 21:45 xkzhangsanx 阅读(740) 评论(0) 推荐(0) 编辑
摘要:Docker的三大核心概念:镜像、容器、仓库 镜像:类似虚拟机的镜像、用俗话说就是安装文件。 容器:类似一个轻量级的沙箱,容器是从镜像创建应用运行实例,可以将其启动、开始、停止、删除、而这些容器都是相互隔离、互不可见的。 仓库:类似代码仓库,是Docker集中存放镜像文件的场所。 1.设置docke 阅读全文
posted @ 2019-05-21 22:37 xkzhangsanx 阅读(165) 评论(0) 推荐(0) 编辑
摘要:今天 Apache Dubbo 晋升为 Apache 基金会顶级项目 祝贺!!! dubbo地址:http://dubbo.apache.org/zh-cn/ dubbo中文文档:http://dubbo.apache.org/zh-cn/docs/user/quick-start.html 1. 阅读全文
posted @ 2019-05-21 22:16 xkzhangsanx 阅读(938) 评论(0) 推荐(0) 编辑
摘要:MySQL中的存储过程首先来看两个问题: 1.什么是存储过程? 存储过程(Stored Procedure)是在数据库系统中,一组为了完成特定功能的SQL语句集,经编译后存储在数据库中,用户通过指定存储过程的名字并给出参数(如果该存储过程有参数的话)来执行它。 2.为什么要使用存储过程? 《MySQ 阅读全文
posted @ 2019-05-21 21:48 xkzhangsanx 阅读(1951) 评论(0) 推荐(0) 编辑
摘要:索引是什么 索引是帮助MySQL高效获取数据的排好序的数据结构。 索引存储在文件里 补充知识: 索引的数据结构 二叉树 有可能出现worst-case,如果输入序列已经排序,则时间复杂度为O(N) 红黑树 解决了二叉树的缺点,但是在数据量大的情况下,会出现分层很深的情况,影响查询效率。 hash 查 阅读全文
posted @ 2019-05-21 21:40 xkzhangsanx 阅读(133) 评论(0) 推荐(0) 编辑
摘要:转自:https://blog.csdn.net/u010648555/article/details/81102957 一、索引概述1. 简介索引是对数据库表中一列或多列的值进行排序的一种结构,使用索引可快速访问数据库表中的特定信息。 举例说明索引:如果把数据库中的某一张看成一本书,那么索引就像是 阅读全文
posted @ 2019-05-21 21:30 xkzhangsanx 阅读(350) 评论(0) 推荐(0) 编辑
摘要:转自:http://www.importnew.com/27063.html 考查Java的并发编程时,手写“生产者-消费者模型”是一个经典问题。有如下几个考点: 对Java并发模型的理解 对Java并发编程接口的熟练程度 bug free coding style 本文主要归纳了4种写法,阅读后, 阅读全文
posted @ 2019-05-21 21:14 xkzhangsanx 阅读(304) 评论(0) 推荐(0) 编辑
摘要:一、管理文件和目录的命令 Linux管理文件和目录的命令 命令 功能 命令 功能 pwd 显示当前目录 ls 查看目录下的内容 cd 改变所在目录 cat 显示文件的内容 grep 在文件中查找某字符 cp 复制文件 touch 创建文件 mv 移动文件 rm 删除文件 rmdir 删除目录 1.1 阅读全文
posted @ 2019-05-21 07:54 xkzhangsanx 阅读(1051) 评论(0) 推荐(0) 编辑
摘要:一、为什么使用消息队列? 为什么使用?其实就是在实际业务中,有个具体的场景,如果不使用MQ,可能会有很多麻烦,用了MQ之后带给我们很多好处。场景其实有很多,常见的有三个:1.解耦、2.异步、3.削峰 1.解耦 A系统要发送一条数据到BCD三个系统,接口调用发送,如果新增个E系统,也需要这条数据呢?如 阅读全文
posted @ 2019-05-20 22:40 xkzhangsanx 阅读(315) 评论(0) 推荐(0) 编辑
摘要:一.前言 各位开发和运维同学,在项目实施落地的过程中,尤其是使用EDAS、DRDS、MQ这些java中间件时,肯定会遇到不少JAVA程序运行和JVM的问题。我结合过去遇到的各种各样的问题和实际处理经验,总结了JAVA问题的处理方式,希望能帮助到大家。 二.问题处理总体概括 如下图所示: 问题处理分为 阅读全文
posted @ 2019-05-20 22:36 xkzhangsanx 阅读(320) 评论(0) 推荐(0) 编辑
摘要:转自:http://www.importnew.com/21441.html 光说不练假把式,学习Java GC机制的目的是为了实用,也就是为了在JVM出现问题时分析原因并解决之。通过学习,我觉得JVM监控与调优主要的着眼点在于如何配置、如何监控、如何优化3点上。下面就将针对这3点进行学习。(如果您 阅读全文
posted @ 2019-05-20 22:16 xkzhangsanx 阅读(154) 评论(0) 推荐(0) 编辑
摘要:分类 本地缓存(HashMap/ConcurrentHashMap、Ehcache、Guava Cache等), 缓存服务(Redis/Tair/Memcache等)。 使用场景 什么情况适合用缓存?考虑以下两种场景: 1、短时间内相同数据重复查询多次且数据更新不频繁,这个时候可以选择先从缓存查询, 阅读全文
posted @ 2019-05-19 23:00 xkzhangsanx 阅读(105) 评论(0) 推荐(0) 编辑
摘要:一、缓存更新 一般来说缓存的更新有两种情况: 先删除缓存,再更新数据库。 先更新数据库,再删除缓存。 这两种情况在业界,大家对其都有自己的看法。具体怎么使用还得看各自的取舍。当然肯定会有人问为什么要删除缓存呢?而不是更新缓存呢?你可以想想当有多个并发的请求更新数据,你并不能保证更新数据库的顺序和更新 阅读全文
posted @ 2019-05-19 22:58 xkzhangsanx 阅读(114) 评论(0) 推荐(0) 编辑
摘要:一、消息队列概述消息队列中间件是分布式系统中重要的组件,主要解决应用解耦,异步消息,流量削锋等问题,实现高性能,高可用,可伸缩和最终一致性架构。目前使用较多的消息队列有ActiveMQ,RabbitMQ,ZeroMQ,Kafka,MetaMQ,RocketMQ 二、消息队列应用场景以下介绍消息队列在 阅读全文
posted @ 2019-05-19 22:52 xkzhangsanx 阅读(208) 评论(0) 推荐(0) 编辑
摘要: 阅读全文
posted @ 2019-05-19 19:41 xkzhangsanx 阅读(196) 评论(0) 推荐(0) 编辑
摘要:jdk1.7 api中的方法摘要: 参考java集合大全图:https://www.cnblogs.com/xkzhangsanx/p/10889114.html Map为所有Map子类的接口。 阅读全文
posted @ 2019-05-19 16:37 xkzhangsanx 阅读(246) 评论(0) 推荐(0) 编辑
摘要:jdk1.7 api中的方法摘要: 参考java集合大全图:https://www.cnblogs.com/xkzhangsanx/p/10889114.html Collection为List、Set和Queue的父类。 阅读全文
posted @ 2019-05-19 16:30 xkzhangsanx 阅读(233) 评论(0) 推荐(0) 编辑
摘要:上图为整理的集合类图关系,带对号标志的为线程安全类。 区别说明: 1、List Set Map Queue的区别List: 有序,可以多个元素引用相同的对象Set: 无序,不重复,不可以多个元素引用相同对象Map: 使用键值对存储,两个key可以引用相同的对象,但是key不能重复 Queue:先入先 阅读全文
posted @ 2019-05-19 14:03 xkzhangsanx 阅读(692) 评论(0) 推荐(0) 编辑
摘要:转自:https://www.cnblogs.com/harry335/p/5924505.html 阅读全文
posted @ 2019-05-19 10:42 xkzhangsanx 阅读(130) 评论(0) 推荐(0) 编辑
摘要:通过设置-XX:+HeapDumpOnOutOfMemoryError 自动生成dump文件,进行分析内存溢出原因 1、堆溢出堆溢出原因莫过于对象太多导致。 错误:java.lang.OutOfMemoryError: Java heap space 2.栈溢出 如果线程请求的栈深度大于虚拟机所允许 阅读全文
posted @ 2019-05-19 10:13 xkzhangsanx 阅读(183) 评论(0) 推荐(0) 编辑
摘要:(1)内存模型以及分区,需要详细到每个区放什么。 堆:Java虚拟机管理内存中最大的一块,线程共享区域。所有对象实例和数组都在堆上分配内存空间。 栈:线程私有,每个线程都会创建一个虚拟机栈,生命周期与线程相同。每个方法被执行的时候就会创建一个栈帧,用于存储局部变量表,操作数栈,动态链接,方法出口等信 阅读全文
posted @ 2019-05-19 10:04 xkzhangsanx 阅读(216) 评论(0) 推荐(0) 编辑
摘要:这篇文章是常见数据结构与算法整理总结的下篇,上一篇主要是对常见的数据结构进行集中总结,这篇主要是总结一些常见的算法相关内容,文章中如有错误,欢迎指出。 一、概述 二、查找算法 三、排序算法 四、其它算法 五、常见算法题 六、总结 一、概述 以前看到这样一句话,语言只是工具,算法才是程序设计的灵魂。的 阅读全文
posted @ 2019-05-19 09:35 xkzhangsanx 阅读(3513) 评论(0) 推荐(1) 编辑
摘要:数据结构是以某种形式将数据组织在一起的集合,它不仅存储数据,还支持访问和处理数据的操作。算法是为求解一个问题需要遵循的、被清楚指定的简单指令的集合。下面是自己整理的常用数据结构与算法相关内容,如有错误,欢迎指出。 为了便于描述,文中涉及到的代码部分都是用Java语言编写的,其实Java本身对常见的几 阅读全文
posted @ 2019-05-19 09:32 xkzhangsanx 阅读(41652) 评论(0) 推荐(2) 编辑
摘要:本文对常见的排序算法进行了总结。 常见排序算法如下: 它们都属于内部排序,也就是只考虑数据量较小仅需要使用内存的排序算法,他们之间关系如下: 稳定与非稳定: 如果一个排序算法能够保留数组中重复元素的相对位置则可以被称为是 稳定 的。反之,则是 非稳定 的。 直接插入排序 基本思想 通常人们整理桥牌的 阅读全文
posted @ 2019-05-19 09:09 xkzhangsanx 阅读(604) 评论(0) 推荐(0) 编辑
摘要:参考:设计模式之禅 阅读全文
posted @ 2019-05-18 23:24 xkzhangsanx 阅读(235) 评论(0) 推荐(0) 编辑
只有注册用户登录后才能阅读该文。
posted @ 2019-05-12 23:20 xkzhangsanx 阅读(7) 评论(0) 推荐(0) 编辑
只有注册用户登录后才能阅读该文。
posted @ 2019-05-12 22:58 xkzhangsanx 阅读(3) 评论(0) 推荐(0) 编辑
只有注册用户登录后才能阅读该文。
posted @ 2019-05-12 19:49 xkzhangsanx 阅读(4) 评论(0) 推荐(0) 编辑
只有注册用户登录后才能阅读该文。
posted @ 2019-05-12 19:32 xkzhangsanx 阅读(4) 评论(0) 推荐(0) 编辑
只有注册用户登录后才能阅读该文。
posted @ 2019-05-12 19:12 xkzhangsanx 阅读(3) 评论(0) 推荐(0) 编辑
摘要:1.创建Person类 2.创建测试类ListToMap 3.测试结果 4.注意事项 (1)list转map要注意重复对象,map转换方法要选择带mergeFunction参数的方法,如果key值重复,做合并处理,不然会抛异常!可以做到去重效果。 比如上面故意添加和id=8相同对象score为88, 阅读全文
posted @ 2019-05-11 14:17 xkzhangsanx 阅读(11386) 评论(0) 推荐(0) 编辑
摘要:转自:http://www.importnew.com/20557.html 2014年3月16日 “Java is still not dead—and people are starting to figure that out.” 欢迎阅读我对 Java 8 的介绍。本指南将一步步地通过所有的 阅读全文
posted @ 2019-05-10 23:37 xkzhangsanx 阅读(326) 评论(1) 推荐(1) 编辑
摘要:一、自己的想法 1.软件开发是在创造新的事物,目标是使生活更美好,时刻抱有敬畏之心,从设计、编码、测试、上线和后期维护整个过程要十二分严谨,保证做的东西符合设计预期,没有bug,安全可控。 2.软件开发前期的设计越好,开发效率越高,如果设计不好,后期经常要重构,反而更耗费时间。 3.软件开发不是人越 阅读全文
posted @ 2019-05-09 22:52 xkzhangsanx 阅读(485) 评论(0) 推荐(0) 编辑
摘要:0.定义 单例模式(Singleton Pattern), 其定义如下:Ensure a class has only one instance, and provide a global point of access to it.(确保某一个类只有一个实例, 而且自行实例化并向整个系统提供这个实 阅读全文
posted @ 2019-05-02 10:43 xkzhangsanx 阅读(133) 评论(0) 推荐(0) 编辑
摘要:Java 11 已于 2018 年 9 月 25 日正式发布,之前在 Java 10 新特性介绍中介绍过,为了加快的版本迭代、跟进社区反馈,Java 的版本发布周期调整为每六个月一次——即每半年发布一个大版本,每个季度发布一个中间特性版本,并且做出不会跳票的承诺。通过这样的方式,Java 开发团队能 阅读全文
posted @ 2019-05-02 00:09 xkzhangsanx 阅读(259) 评论(0) 推荐(0) 编辑
摘要:1.博客主要是为了记录工作、学习中遇到的问题,可能由于本人技术有限,有些不正确的地方,仅供参考。 2.博客中会转载我认为有用的博客文章,添加一些论坛或网站地址,但这些博客文章、论坛和网站上的内容和我没有关系,不代表我的意见,请网友自己多注意辨别。 3.博客中转载文章会写明来源,感谢原作者的辛苦写作, 阅读全文
posted @ 2019-05-01 23:28 xkzhangsanx 阅读(394) 评论(0) 推荐(0) 编辑
摘要:1.仍然先看构造方法:ThreadPoolExecutor构造方法 public ThreadPoolExecutor(int corePoolSize,int maximumPoolSize,long keepAliveTime,TimeUnit unit, BlockingQueue<Runna 阅读全文
posted @ 2019-05-01 23:14 xkzhangsanx 阅读(193) 评论(0) 推荐(0) 编辑

点击右上角即可分享
微信分享提示