摘要:
分支就是科幻电影里面的平行宇宙,当你正在电脑前努力学习Git的时候,另一个你正在另一个平行宇宙里努力学习SVN。 如果两个平行宇宙互不干扰,那对现在的你也没啥影响。不过,在某个时间点,两个平行宇宙合并了,结果,你既学会了Git又学会了SVN! 分支在实际中有什么用呢?假设你准备开发一个新功能,但是需 阅读全文
摘要:
Git是分布式版本控制系统,同一个Git仓库,可以分布到不同的机器上。怎么分布呢?最早,肯定只有一台机器有一个原始版本库,此后,别的机器可以“克隆”这个原始版本库,而且每台机器的版本库其实都是一样的,并没有主次之分。 你肯定会想,至少需要两台机器才能玩远程库不是?但是我只有一台电脑,怎么玩? 其实一 阅读全文
摘要:
一、管理修改 现在,假定你已经完全掌握了暂存区的概念。下面,我们要讨论的就是,为什么Git比其他版本控制系统设计得优秀,因为Git跟踪并管理的是修改,而非文件。 你会问,什么是修改?比如你新增了一行,这就是一个修改,删除了一行,也是一个修改,更改了某些字符,也是一个修改,删了一些又加了一些,也是一个 阅读全文
摘要:
原文来至 一、创建版本库 版本库又名仓库,英文名repository,你可以简单理解成一个目录,这个目录里面的所有文件都可以被Git管理起来,每个文件的修改、删除,Git都能跟踪,以便任何时刻都可以追踪历史,或者在将来某个时刻可以“还原”。 所以,创建一个版本库非常简单,首先,选择一个合适的地方,创 阅读全文
摘要:
原文来至 一、集中式vs分布式 Linus一直痛恨的CVS及SVN都是集中式的版本控制系统,而Git是分布式版本控制系统,集中式和分布式版本控制系统有什么区别呢? 先说集中式版本控制系统,版本库是集中存放在中央服务器的,而干活的时候,用的都是自己的电脑,所以要先从中央服务器取得最新的版本,然后开始干 阅读全文
摘要:
一、synchronized同步方法 论:“线程安全”与“非线程安全”是多线程的经典问题。synchronized()方法就是解决非线程安全的。 1、方法内的变量为线程安全 2、实例变量非线程安全 解决方法: 方法前加synchronized关键字。 3、多个对象多个锁 HasSelfPrivate 阅读全文
摘要:
概论: 在操作系统中,线程可以划分优先级,优先级高的获得的CPU资源较多,也就是CPU优先执行优先级较高的线程。在JAVA中线程的优先级 分1~~10个10个等级。大于或者小于会报异常。 一、线程优先级具有继承性 A 线程启动 B线程,则线程B的优先级与A的是一样的。。 结果: 二、线程优先级具规则 阅读全文
摘要:
1、异常法 结果: 2,在沉睡中停止,即在sleep()状态下停止。 结果: 3、暴力停止 stop()(已作废方法,不推荐使用) 注意: (1)、暴力停止,可能导致清理工作完成不了。 (2)、导致数据的不到同步处理,导致数据不一致问题。 4、使用ruturn停止线程 结果: 二、 (1)suspe 阅读全文
摘要:
概念:可以理解为在进程中独立运行的子任务。比如,QQ.exe在运行时就有很多子任务在运行,好友视屏线程,下载文件线程,传输数据线程等等。 优点:1、提升CPU资源利用率,提升系统性能。 一、多线程的实现 1.1、继承Thread类(extends Thread),Thread类实现了Runnable 阅读全文