关闭

CentOS7修改网卡名

Linux 操作系统的网卡设备的传统命名方式是 eth0、eth1、eth2等,而 CentOS7 提供了不同的命名规则,默认是基于固件、拓扑、位置信息来分配。这样做的优点是命名全自动的、可预知的,缺点是比 eth0、wlan0 更难读,比如 ens33 。 一、命名规则策略 规则1: 对于板载设备命名合并固件或 BIOS 提供的索引号,如果来自固件或 BIOS 的信息可读就命名,比如e...
阅读(59) 评论(0)

GitHub的注册与使用(详细图解)

首先,你需要注册一个 github 账号,最好取一个有意义的名字,比如姓名全拼,昵称全拼,如果被占用,可以加上有意义的数字. 本文中假设用户名为 chuaaqi(我的博客名的全拼) 1. 注册账号: 地址: https://github.com/ 输入账号、邮箱、密码,然后点击注册按钮. 2. 初始设置 注册完成后,选择Free免费账号完成设置。...
阅读(14417) 评论(0)

maven安装

一、解压     解压maven-3.2.5到任一盘 我的是在D盘 二、配置环境变量 M2_HOME—>D:\apache-maven-3.2.5 path—>%M2_HOME%\bin; 三、验证 DOS下输入 maven -version 显示安装版本,表示安装成功...
阅读(233) 评论(0)

dbunit之org.dbunit.dataset.DataSetException: java.net.MalformedURLException解决方法

一、问题定位    在使用dbunit做DAO的单元测试时,抛出了一个org.dbunit.dataset.DataSetException: java.net.MalformedURLException异常,如下图, 可以看到问题出现在我写的TestDbUnit的49行,再看源代码 第49行是这一句 IDataset ds = new FlatXmlDataSet(file...
阅读(1741) 评论(0)

实现阻塞队列

阻塞队列是Concurrent包下的类,常用的包括ArrayBlockingQueue和LinkedBlockingQueue,阻塞队列中put()和take()两个方法的实现从源码中华可以看出是用消费者-生产者模式实现的,下面就是自己实现的简单的ArrayBlockingQueue 废话诗少说,直接上代码: /** * 一个简单的阻塞队列 */ class MyBlock...
阅读(464) 评论(0)

实现自己的HashMap

参考源码,实现了一个简单的HashMap。。。。。。 package test; import java.util.Map; import test.MyHashMap.Entry; public class MyHashMap { private Entry[] table;//Entry数组表 static final int DEFAULT_INITIAL_...
阅读(353) 评论(0)

CountDownLatch与CyclicBarrier

CountDownLatch       直译过来就是倒计数(CountDown)门闩(Latch)。倒计数不用说,门闩的意思顾名思义就是阻止前进。在这里就是指 CountDownLatch.await() 方法在倒计数为0之前会阻塞当前线程。当计数器count变为0时,所有线程不再等待,同时运行。           CountDownLatch 的作用和 Thread.join() 方...
阅读(194) 评论(0)

CAS自旋锁

昨天写了篇关于AtomicInteger的博客,感觉觉还是不太完整,所以又把自旋锁的知识整理了一下。。。。。。。。。 什么是自旋锁        说道自旋锁就要从多线程下的锁机制说起,由于在多处理器系统环境中有些资源因为其有限性,有时需要互斥访问(mutual exclusion),这时会引入锁的机制,只有获取了锁的进程才能获取资源访问。即每次只能有且只有一个进程能获取锁,才能进入自己的临界区...
阅读(925) 评论(2)

Workspace in use or cannot be created, choose a different one.错误的解决办法

Myeclipse 闪退后重启,有时有会提示错误 Workspace Unavailable:如下图 原因:出现这种情况一般是workspace的配置文件中出现了.lock文件(workspace/.metadata/.lock),锁定了workspace。 解决方法:      把.lock文件删除即可。      如果该文件不能删除,可能是因为javaw.exe...
阅读(388) 评论(0)

Java中的静态单多分派与动态单分派

什么是单分派,什么是多分派呢???    先看定义:根据一个宗量的类型进行方法的选择称为单分派                   根据多于一个宗量的类型对方法的选择称为多分派 那么宗量又是个什么东东呢?????    再看定义:方法的接受者与方法的参数统称为方法的宗量。 定义看着确实有点儿晕,还是直接上例子吧!!!!!!!!! package test; pub...
阅读(1231) 评论(0)

静态分派与动态分派

静态分派        先看定义:所有依赖静态类型来定位方法执行版本的分派动作成为静态分派。       静态分派典型的应用方法重载 你能看出下面代码的输出什么吗???????????? class Dog{} class WhiteDog extends Dog{} class BlackDog extends Dog{} public class Person { public...
阅读(293) 评论(0)

AtomicInteger

AtomicInteger 是一个支持原子操作的 Integer 类,就是保证对AtomicInteger类型变量的增加和减少操作是原子性的,不会出现多个线程下的数据不一致问题。通常情况下,在Java里面,++i或者--i不是线程安全的,这里面有三个独立的操作:或者变量当前值,为该值+1/-1,然后写回新的值。在没有额外资源可以利用的情况下,只能使用加锁才能保证读-改-写这三个操作时“原子性”的。...
阅读(496) 评论(0)

一致性Hash算法

基本场景     工程师常使用服务器集群来设计和实现数据缓存,以下是常见的策略:      1、无论是添加、查询、还是删除数据,都先将数据id通过海西函数转换成一个哈希值,记为key。      2、如果目前机器有N台,则计算key%N的值,这个值就是该数据所属的机器编号,无论是添加、删除还是查询操作,都只在这台机器上进行。 存在问题     上面场景中的缓存策略的潜在问题是如果增加或删...
阅读(304) 评论(0)

双亲委派模型

说道双亲委派模型,就要从类加载器说起。。。。。。。。。。。 Java虚拟机类加载过程是把Class类文件加载到内存,并对Class文件中的数据进行校验、转换解析和初始化,最终形成可以被虚拟机直接使用的java类型的过程。 在加载阶段,java虚拟机需要完成以下3件事: a.通过一个类的全限定名来获取定义此类的二进制字节流。 b.将定义类的二进制字节流所代表的静态存储结构...
阅读(10121) 评论(9)

Java语言中的线程状态转换

Java语言定义了五种线程状态,在任意时间点,一个线程只能有且只有其中一种状态。 新建(New)     创建后尚未启动的线程处于这种状态。 运行(Runable)     Runable包括操作系统线程状态中的Running和Ready,也就是出于此种状态的线程可能正在运行,也可能正在等待着CPU为它分配执行时间。 无限期等待(Waiting)      处于该状态的线程不会被分配C...
阅读(267) 评论(0)
53条 共4页1 2 3 4 下一页 尾页
    个人资料
    • 访问:59829次
    • 积分:1059
    • 等级:
    • 排名:千里之外
    • 原创:50篇
    • 转载:3篇
    • 译文:0篇
    • 评论:14条
    文章分类
    最新评论