摘要: 版本回退前面我们成功的提交了一次mygit.txt,下面咱对它进行修改,内容如下:Hello GitGit is so easy.然后用git status来跟踪该文件的状态:可以看到hellogit.txt已经被修改过了,到底这次修改的内容与上次的内容有什么不同的,咱们可以使用git diff查看:当然你也可以查看上次提交的信息,使用git log:通过前面一章我们知道,该文件还处于工作区,因此我们又可以使用add、commit操作了:这里笔者偷了个懒,直接用-m表示提交的信息,当然在学习过程中咱可以这样,但实际工作中一般不这么写。好了,提交完后咱再用git status来跟踪一下(建议多使 阅读全文
posted @ 2014-03-07 00:08 JAVE_LOVER 阅读(196) 评论(0) 推荐(0)
摘要: 仓库(repository),我们也成它为版本库。这个库里面的所有文件(包括对文件的添加、删除、修改等操作)都被Git管理起来,而且我们随时可以跟踪版本以便更好的对库里的每个文件进行更新和还原。咱还是像昨天一样,先进官方网站瞧瞧:点击init,你将看到这样一句话:git init—创建一个空的Git存储库或初始化现有的一个版本库。不难发现,咱们要初始化一个本地版本库,用的就是它了。$ mkdir mygit$ cd mygit$ git init注意咱创建目录的时候,最好不要出现英文,以免出现乱码等不必要的问题。Git仓库创建很快,这里需要值得注意的是,由于Git仓库在创建创建时,它会生成一个 阅读全文
posted @ 2014-03-06 22:22 JAVE_LOVER 阅读(171) 评论(0) 推荐(0)
摘要: Git作为一个版本控制工具,在工作中我们常常会用到它,尤其是在移动开发中,Git可谓是版本管理神器。下面让我们来认识一下Git:Git是一个分布式版本控制软件,它是由Linux的作者Linus用C写的一个分布式版本控制系统。如果大家对Git的历史比较感兴趣,可以点击链接进入官网了解:A Short History of GitGit主要特点有如下:1、速度:Git在本地上保存着所有当前项目的版本和更新,并且Git中的绝大多数操作都在本地,无需连网,所以处理起来速度。2、简单的设计:Git的实现与项目复杂度无关,它永远可以在几毫秒的时间内完成分支的创建和切换。3、完全分布式模式:每个人电脑上都有 阅读全文
posted @ 2014-03-06 00:41 JAVE_LOVER 阅读(114) 评论(0) 推荐(0)
摘要: JDBC(Java Data Base Connectivity:java数据库连接):它定义了一组标准的操作数据库的接口,既然是接口,那它就是一种规范,是Java操作数据库的技术规范。Java数据库编程有两步常用操作:1.加载(或注册)JDBC驱动程序Class.forName(“com.mysql.jdbc.Driver”); 推荐这种方式,不会对具体的驱动类产生依赖。DriverManager.registerDriver(com.mysql.jdbc.Driver); 会造成DriverManager中产生两个一样的驱动,并会对具体的驱动类产生依赖。2.建立数据库ConnectionC 阅读全文
posted @ 2013-11-26 15:46 JAVE_LOVER 阅读(360) 评论(0) 推荐(0)
摘要: UDP协议:无需建立虚拟链路,协议是不可靠的。A节点以DatagramSocket发送数据包,数据报携带数据,数据报上还有目的目地地址,大部分情况下,数据报可以抵达;但有些情况下,数据报可能会丢失 --丢失了也不管。先了解2个类:DatagramSocket:相当于“码头”,此类表示用来发送和接收数据报的套接字。DatagramPacket:代表数据报。举例说明1:服务器端public class SimpleUDPServer { final static int SERVER_PORT = 30000; final static int PACKET_SIZE = 4092; public 阅读全文
posted @ 2013-11-26 10:08 JAVE_LOVER 阅读(232) 评论(0) 推荐(0)
摘要: TCP通信:Socket --相当于“虚拟链路两端的插座”。Socket负责完成通信。ServerSocket --它只负责“接收”连接。它用于产生Socket。服务器端编程:1) 创建ServerSocket 对象,该对象负责“接收”连接。2) 如果客户端有连接,ServerSocket 对象调用accept()方法返回一个Socket。3) 通过IO流读取对方的信息,也可向对方发送数据。客户端编程:1) new Socket()来建立与远程服务器的连接。2) 通过IO流读取对方的信息,也可向对方发送数据。举列说明1(简单通信):/** * @author lhy * @descriptio 阅读全文
posted @ 2013-11-25 21:00 JAVE_LOVER 阅读(198) 评论(0) 推荐(0)
摘要: TCP/IP的网络分层模型:应用层(HTTP/FTP/SMTP/POPS...),传输层(TCP协议),网络层(IP协议,负责为网络上节点分配唯一标识),物理层+数据链路层)。IP地址用于标识网络中的一个通信实体,通常这个实体可以是一台主机,也可以是一台打印机,或者是路由器的某一个端口。而基于IP协议网络中传输的数据包,都必须使用IP地址来进行标识。IP地址与端口:IP地址就是为网络上的每个物理节点(广义的)分配一个“门牌号”。通过IP地址,可以保证网络上的数据包能正确地找到每个物理节点,但每个物理节点上可能有多个应用程序在同时对外提供服务。端口:每个应用程序在网络上通信时,占用一个端口,相当 阅读全文
posted @ 2013-11-25 18:02 JAVE_LOVER 阅读(265) 评论(0) 推荐(0)
摘要: 竞争资源(共享资源):如果有多条线程需要并发访问、并修改某个对象,该对象就是“竞争资源”。为了避免多个线程"自由竞争”修改共享资源所导致的不安全问题。线程同步(像Vector、Hashtable等都是线程安全的):解决线程异步有两种方式:1)同步代码块(需要显式的指定同步监视锁);2).同步方法(相当于使用方法的调用者,如果方法是实例方法,相当于this为同步监视锁;如果方法是类方法,相当于类作为同步监视锁)。它们的实现机制是完全相同的,当线程要进入被"同步监视锁"监视的代码之前,线程必须先获得“同步监视锁”,这样就可以保证在任意一个时刻,只有一条线程能进入被&q 阅读全文
posted @ 2013-11-24 20:12 JAVE_LOVER 阅读(253) 评论(0) 推荐(0)
摘要: 线程与进程的关系:进程 --运行中的程序。进程有如下特征:1).独立性。拥有自己的资源,拥有自己独立的内存区。 通常来说,一个进程的内存空间,是不允许其他进程访问的。 但像Windows,如A进程可以通过某种方式修改其他进程的内存值。2).动态性。程序是静止的,运行起来才叫进程。3).并发性。一个操作系统可以同时“并发(concurrent)”运行多个进程。线程 --进程中的“并发(concurrent)”执行流,轻量级进程。线程与进程的典型区别:Process(进程)是有独立内存的,因此创建Process的成本比创建线程的成本高。什么是“并发”?什么是“并行”? 1)并发:即使只有一个CP. 阅读全文
posted @ 2013-11-24 14:33 JAVE_LOVER 阅读(183) 评论(0) 推荐(0)
摘要: Java的界面编程Java在客户端上表现并不突出,客户端往往都是局限在windows平台。AWT(JDK1.0发布,Sun希望在所有平台上都能运行),它并未为界面提供实现,直接调用的是操作系统上相应的界面组件,AWT只能使用各操作系统上界面组件的交集。Swing为绝大部分的界面组件提供了实现,这些组件都是直接回执在空白区域上,Swing自己实现了这些界面组件,因此Swing无需使用各操作系统上界面组件的交集,Swing的UI界面更加统一。先看几个GUI工具类:Component:一切【界面组件】的祖先。MenuComponent:一切【菜单组件】的祖先。Container(Window-顶级窗 阅读全文
posted @ 2013-11-11 22:27 JAVE_LOVER 阅读(280) 评论(0) 推荐(0)