`
文章列表
1.jdk1.8之后引入了java.utl.function包,在该包中主要用到了函数式编程,主要Lamda表达式讲解 2.主要以如下四个接口为例,如果这四个接口明白怎么回事,其他的也会怎么使用   2.1 (1)功能型接口 Function -----【有输入参数,且又返回结果】 (2)消费型接口 Consumer-----【有输入参数,且无返回值】 (3)供给型接口 Supplier-----【无输入值,且有返回值的接口】 (4)断言型接口 Predict  ------【作为一个判断操作】  2.2代码举例说明:  (1)功能型接口举例    (2)消费型接口举例 ...
SonarQube 1.SonarQube是什么 SonarQube是一个用于代码质量管理的开放平台。为项目提供可视化报告, 连续追踪项目质量演化过程。 通过插件机制,Sonar 可以集成不同的测试工具,代码分析工具,以及持续集成工具。对结果进行再加工处理,通过量化的方式度量代码质量的变化。 2.特性 所有项目的概览: 可以快速了解上百项目的健康程度 深入代码查看: 想知道哪个代码违反规范,进入包内查看违规的源码 编码规则: 有超过600多的代码规范。从命名规范到违反模式的检测 单元测试:
1.背景    监控redis的运行实时情况和历史,了解redis的运行情况 2.目的 通过此监控,可以实时监控redis服务的运行状态;并通过历史数据,了解redis的走势。采取相应的操作,达到监控的目的。 3.监控环境搭建 (3.1)修改主机名  (3.1.1)在/etc/hosts   192.168.165.130 nameNode #添加ip和主机名      (3.1.2) 在/etc/sysconfig/network   NETWORKING=yesHOSTNAME=nameNode #主机名再重启机器     (3.2)安装 ...
即使是管理员也操作不了/etc/profile文件的话,应该用如下命令: chattr -i /etc/profile
1.SonarQube是什么   SonarQube 是一个用于代码质量管理的开源平台,用于管理源代码的质量。 通过插件形式,可以支持包括 java, C#, C/C++, PL/SQL, Cobol, JavaScrip, Groovy 等等二十几种编程语言的代码质量管理与检测。Sonar可以从以下七 ...
gcc -v和sudo  gcc -v 版本不一致
安装需求 # yum install curl-devel expat-devel gettext-devel openssl-devel zlib-devel# yum install  gcc perl-ExtUtils-MakeMaker 卸载Centos自带的git1.7.1 通过git –version查看系统带的版本,Cento6.5应该自带的是git版本是1.7.1 # yum remove git 下载git2.1.2并将git添加到环境变量中 下载git最新版本 # cd /usr/src# wget https://www.kernel.org/pub/sof ...
查看python的版本   [plain] view plain copy  print?
1.在Servlet规范中,Servlet同样需要满足被多个线程同时调用,换句话说,Servlet需要时线程安全的; 2.如果当多个线程访问同一个可变的状态变量时没有使用合适的同步,那么程序就会出现错误。有三种方式可以修复这个问题(1)不在线程之间共享该状态变量,(2)将状态量修改为不可变的变量,(3)在访问状态变量时使用同步。
1.list.map.set的存储特点?  (1)List 以特定次序来持有元素,可有重复元素. (2)Set 无法拥有重复元素,内部排序. (3)Map 保存key-value值,value可多值2.arraylist和vector的区别?  (1).同步性:Vector是线程安全的,也就是说是同步的,而ArrayList是线程不安全的,不是同步的 (2).数据增长:当需要增长时,Vector默认增长为原来一培,而ArrayList却是原来的一半3.ArrayList,Vector, LinkedList的存储性能和特性?  1)ArrayList 采用的是数组形式来保存对象的,这种方式 ...
可阻塞队列   (1) 队列包含固定长度的队列和不固定长度的队列。  (2)什么是可阻塞队列,阻塞队列的作用与实际应用,阻塞队列的实现原理ArrayBlockingQueue    看ArrayBlockingQueue类的帮助文档,其中有各个方法的区别对比的表格    只有put方法和take方法才具有阻塞功能 (3)用3个空间的队列来演示阻塞队列的功能和效果 (4)用两个具有1个空间的队列来实现同步通知的功能 (5)阻塞队列与Semaphore有些相似,但也不同。阻塞队列是一方存放数据,另一方释放数据,Semaphore通常则是由同一方设置和释放信号量 可用阻塞队列实现线程通信 p ...
可阻塞队列   (1) 队列包含固定长度的队列和不固定长度的队列。  (2)什么是可阻塞队列,阻塞队列的作用与实际应用,阻塞队列的实现原理ArrayBlockingQueue    看ArrayBlockingQueue类的帮助文档,其中有各个方法的区别对比的表格    只有put方法和take方法才具有阻塞功能 (3)用3个空间的队列来演示阻塞队列的功能和效果 (4)用两个具有1个空间的队列来实现同步通知的功能 (5)阻塞队列与Semaphore有些相似,单也不同。阻塞队列是一方存放数据,另一方释放数据,Semaphore通常则是由同一方设置和释放信号量 package com.ron ...

Exchanger

Exchanger      用于实现两个人之间的数据交换,每个人在完成一定的事务后想与对方交换数据,第一个先拿出数据的人将一直等待第二个人拿着数据到来时,才能彼此交换数据。 package com.ronbay.thread.timer; import java.util.concurrent.Exchanger; import java.util.concurrent.ExecutorService; import java.util.concurrent.Executors; public class ExchangerTest { public static ...

CountDownLatch

CountDownLatch   (1)犹如倒计时计数器,调用CountDownLatch对象的countDown方法将计数器减1,当技术到达0时,则所有等待者或单个等待者开始执行。这直接通过代码来说明CountDownLatch的作用,这样理解更为直接   (2)可以实现一个人(也可以是多个人)等待其他所有人都来通知他,可以实现一个人通知多个人的效果,类似裁判一声口令,运动员同时开始奔跑,或者所有运动员都跑到终点后裁判才可以公布结果,用这个功能做百米赛跑的游戏程序不错   package com.ronbay.thread.timer; import java.util.conc ...

CyclicBarrier

  类似旅游的一个场景    表示大家彼此等待,大家集合好后才开始出发,分散活动后又在指定地点集合碰面,这就好比整个公司的人员利用周末时间集体郊游一样,先各自从家出发到公司集合后,再同时出发到公园游玩,在指定地点集合后再同时开始就餐,...。 package com.ronbay.thread.timer; import java.util.concurrent.CyclicBarrier; import java.util.concurrent.ExecutorService; import java.util.concurrent.Executors; public ...
Global site tag (gtag.js) - Google Analytics