- 浏览: 168288 次
- 性别:
- 来自: 北京
-
最新评论
-
376174502:
请问一下,Ice中的 Object 和 java 中的 Obj ...
ICE简单介绍及使用示例
文章列表
jdk1.8 Lamda表达式的应用
- 博客分类:
- Java
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可以从以下七 ...
Centos 6.5升级到Git2.1.2的步骤
- 博客分类:
- 操作系统
安装需求
# 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)在访问状态变量时使用同步。
重温Java基础知识
- 博客分类:
- Java基础
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 ...
BlockingQueue
- 博客分类:
- 多线程,阻塞队列
可阻塞队列
(1) 队列包含固定长度的队列和不固定长度的队列。 (2)什么是可阻塞队列,阻塞队列的作用与实际应用,阻塞队列的实现原理ArrayBlockingQueue 看ArrayBlockingQueue类的帮助文档,其中有各个方法的区别对比的表格 只有put方法和take方法才具有阻塞功能 (3)用3个空间的队列来演示阻塞队列的功能和效果 (4)用两个具有1个空间的队列来实现同步通知的功能 (5)阻塞队列与Semaphore有些相似,单也不同。阻塞队列是一方存放数据,另一方释放数据,Semaphore通常则是由同一方设置和释放信号量
package com.ron ...
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 ...