随笔分类 -  Java基础

摘要:TCP协议是面向连接、保证高可靠性(数据无丢失、数据无失序、数据无错误、数据无重复到达)传输层协议。 TCP通过三次握手建立连接,通讯完成时要拆除连接,由于TCP是面向连接的所以只能用于端到端的通讯。 Socket可以说是一种针对网络的抽象,应用通过它可以来针对网络读写数据。根据TCP协议和UDP协 阅读全文
posted @ 2016-02-18 15:14 无羁之风 阅读(10414) 评论(0) 推荐(3)
摘要:UDP(User Data Protocol,用户数据报协议)是与TCP相对应的协议。它是面向非连接的协议,它不与对方建立连接,而是直接就把数据包发送过去! UDP适用于一次只传送少量数据、对可靠性要求不高的应用环境。正因为UDP协议没有连接的过程,所以它的通信效率高;但也正因为如此,它的可靠性不如 阅读全文
posted @ 2016-02-18 13:54 无羁之风 阅读(3469) 评论(0) 推荐(1)
摘要:线程范围内的共享变量是指对同一个变量,几个线程同时对它进行写和读操作,而同一个线程读到的数据就是它自己写进去的数据。 运行结果: 从结果可以看出,线程0将线程1修改后的data值覆盖了,并且输出的结果是线程1中修改的值。 那么该如何来解决这个问题呢? 使用同步代码块,将变量修改以及访问的代码加锁,线 阅读全文
posted @ 2016-02-01 16:02 无羁之风 阅读(650) 评论(0) 推荐(0)
摘要:wait()方法使得当前线程必须要等待,等到另外一个线程调用notify()或者notifyAll()方法。 当前的线程必须拥有当前对象的monitor,也即lock,就是锁。 线程调用wait()方法,释放它对锁的拥有权,然后等待另外的线程来通知它(通知的方式是notify()或者notifyAl 阅读全文
posted @ 2016-01-28 17:27 无羁之风 阅读(1239) 评论(0) 推荐(0)
摘要:java中,线程互斥是为了保证在同一时刻,只有一个线程在访问一段特定的代码或者一个特定的变量。 看一个多线程使用同一个对象操作引起的问题: 这时候,可以从结果中偶尔发现这样的输出: 我们发现,2个线程中的不同的字符串内容出现了错乱,这就是在多个线程同时访问同一个资源(此处为ps对象)时出现的问题。 阅读全文
posted @ 2016-01-28 14:39 无羁之风 阅读(321) 评论(0) 推荐(0)
摘要:Java中,线程从创建到结束,共分为5个状态。一个线程在其生命周期内,总是处于某种状态: 一、创建状态 执行下列语句时,线程就处于创建状态: Thread myThread = new MyThreadClass( ); 当一个线程处于创建状态时,它仅仅是一个空的线程对象,系统不为它分配资源。 二、 阅读全文
posted @ 2016-01-28 13:37 无羁之风 阅读(715) 评论(0) 推荐(0)
摘要:1、进程: 进程是程序的一次动态执行过程。用进程来对应一个程序,每个进程对应一定的内存地址空间,并且只能使用它自己的内存空间,各个进程间互不干扰。 2、线程: 线程是程序内部的控制流,比进程更小的执行单位,是进程内部的子任务。一个进程在执行过程中,为了同时完成多个操作,可以产生多个线程,形成多条执行 阅读全文
posted @ 2016-01-28 10:24 无羁之风 阅读(214) 评论(0) 推荐(0)
摘要:一、TreeSet原理: 1.TreeSet存储对象的时候, 可以排序, 但是需要指定排序的算法 2.Integer能排序(有默认顺序), String能排序(有默认顺序), 自定义的类存储的时候出现异常(没有顺序) 3.如果想把自定义类的对象存入TreeSet进行排序, 那么必须实现Compara 阅读全文
posted @ 2016-01-25 15:43 无羁之风 阅读(331) 评论(0) 推荐(0)
摘要:如题所示,如果一个ArrayList中包含多个重复元素,该如何去重呢? 声明2个ArrayList,分别为listA与listB ,listA为待去重list ,listB 保存去重之后数据 。遍历listA ,然后判断listB中是否包含各个元素,若不包含,把此元素加入到listB中。 代码实现: 阅读全文
posted @ 2016-01-25 14:46 无羁之风 阅读(893) 评论(0) 推荐(0)