
java基础
东酱
这个作者很懒,什么都没留下…
展开
-
线程安全问题-----同步机制
线程安全1.线程安全讲解如果有多个线程在同时运行,而这些线程可能会同时运行这段代码.程序每次运行结果和单线程运行的结果是一样的,而且他的变量的值也和预期的是一样的,就是线程安全.我们可以通过一个案例,来演示线程安全问题:电影院要买票,我们模拟电影院买票过程.假设此次电影提供100个座位.模拟票:public class Ticket implements Runnable { ...原创 2019-08-26 20:39:52 · 229 阅读 · 0 评论 -
Stream流简介
Stream流简介说到Stream便容易想到I/O 流,而实际上,谁规定“流”就一定是“IO流”呢?在Java 8中,得益于Lambda所带来的函数式编程,引入了一个全新的Stream概念,用于解决已有集合类库既有的弊端。集合的弊端: 每一次筛选都需要定义一个新的集合来存储结果 每一次操作集合中所有的元素都需要通过循环来遍历1.s流式思想概念Stream流主要用于解决已有集合类库...原创 2019-09-14 18:40:48 · 740 阅读 · 1 评论 -
final关键字
final关键字一、final关键字的概述 学习了继承后,我们知道,子类可以在父类的基础上改写父类内容,比如,方法重写.那么我们能不能随意的继承API中提供的类,改写其内容呢?显然这是不合适的.为了避免这种随意的改写的情况,java提供了final关键字,用于修改不可改变内容.final :不可改变.可以修饰类,方法和变量.二、fianl关键字的用法2.1fian...原创 2019-08-20 19:45:42 · 151 阅读 · 0 评论 -
网络编程入门
java网络编程入门1.软件结构C/S结构:全称为Client/Server结构,是指客户端和服务器结构。常见程序有QQ、迅雷等软件。B/S结构:全称为Browser/Server结构,是指浏览器和服务器结构。常见浏览器有谷歌、火狐等。两种架构各有优势,但是无论哪种架构,都离不开网络的支持。网络编程,就是在一定的协议下,实现两台计算机的通信的程序。2.网络编程三要素网络编程三要素...原创 2019-09-17 22:27:47 · 244 阅读 · 0 评论 -
简单的TCP网络程序
简单的TCP网络程序TCP通信能实现两台计算机之间的数据交互,通信的两端,要严格区分为客户端(Client)与服务端(Server)。在Java中,提供了两个类用于实现TCP通信程序:客户端:java.net.Socket 类表示。创建Socket对象,向服务端发出连接请求,服务端响应请求,两者建立连接开始通信。服务端:java.net.ServerSocket 类表示。创建Server...原创 2019-09-22 15:28:32 · 432 阅读 · 0 评论 -
冒泡排序与选择排序
冒泡排序与选择排序冒泡排序 : 从数组中首元素开始和其他元素逐个比较,若其中一个元素比其小(或大),就交换首元素与其位置 。代码实现:public static void main(String[] args) { int [] arr = {6,5,8,4,9,7,2}; System.out.println("初始数组"+Arrays.toStr...原创 2019-08-15 21:08:04 · 172 阅读 · 0 评论 -
快速排序
数组快速排序1 基本思路:快速排序,即选一个元素作为基准,再将数组中元素与其比较,比它大的放在它的右边,比他小的放在它的左边,这样达到将数组切割成两部分,一部分大于基准数,另一本分小于基准数.再以此思想分别对两部分递归下去,直到剩下部分只剩下一个元素时,就完成了排序.(此为升序,降序则将大于基准的放左边,小于的放右边即可).2 过程分析:首先我们选0号位元素为基准,并且定义两个索引,分别...原创 2019-09-01 20:27:30 · 224 阅读 · 2 评论 -
插入排序
插入排序排序原理:是通过构建有序序列,对于未排序的数据,在已排序序列中从后向前扫描,找到相应的位置并插入.插入排序在实现上,再从后往前扫描过程中,需要反复把已排元素逐步向后挪位,为最新元素提供插入空间.过程分析:首先我们选定一个索引,假设其左边元素是有序的,用索引上元素和它左边的元素从右往左比较.如果左边的元素大于取出的元素,那么将这个元素右移一位,此时2已经比到最左边停止比较...原创 2019-09-07 12:40:19 · 193 阅读 · 0 评论