- 博客(27)
- 资源 (22)
- 收藏
- 关注
原创 Java_188_网络编程_ServerSocket_accept等待连接 _Socket_网络登录功能分解_单向_双向_文件_多用户加入多线程Thread
TCP Socket ServerSocket accept建立连接后,剩下的都是IO流操作* 网络登录功能分解* 1.单向:客户端向服务器端发送字符串,服务器获取字符串并输出* 2.双向:服务器端给客户端反馈,客户端得到反馈并输出* 3.文件:客户端向服务器端上传文件,服务器端获取文件并反馈结果* 4.多线程:服务器接收多个客户端的请求,并给出反馈,每个客户请求开启一个线程单向Cilentpackage TCP;import java.io.BufferedReade...
2020-07-31 17:31:52 301
原创 Java_187_网络编程_TCP编程_TCP套接字_服务端ServerSocket_客户端Socket_通讯原理_ServerSocket创建服务端流程_Socket创建客户端流程
package TCP;/** * TCP编程 * 需求:完成网络登录功能; * 用户输入用户名密码,服务器给出登录成功或失败的提示 * * 分析 * 使用基于TCP协议的Socket网络编程实现 * TCP协议基于请求-响应模式 * 在网络通讯中,第一次主动发起通信的程序被称作客户端(Client)程序 * 第一次通讯中等待连接的程序被称作服务器端(Server)程序 * 利用IO流实现数据的传输 * * 客户端 输出流-->输入流 服务端 OutputStream .
2020-07-29 17:49:23 166
原创 Java_186.1_Eclipse快捷键
1、java智能提示(1). 打开Eclipse,选择打开" Window - Preferences"。(2). 在目录树上选择"Java-Editor-Content Assist",在右侧的"Auto-Activation"找到"Auto Activation triggers for java"选项。默认触发代码提示的就是"."这个符号。(3). 在"Auto Activation triggers for java"选项中,将"."更改:.abcdefghijklmnopqrstuvw
2020-07-29 17:00:04 105
原创 Java_186_网络编程_小知识点_TCP_UDP_区别
TCP:客户端和服务器(Client Server),存在主次关系.UDP:一对一,相互都是平等的,不存在主次关系.
2020-07-29 15:36:56 77
原创 Java_185_网络编程_UDP套接字_DatagramSocket_数据流类型模拟Data(Intput/Output)_引用类型模拟Object_模拟聊天_封装聊天加入线程实现对讲_Thread
基本流程模板Clientpackage Ntework;import java.io.IOException;import java.net.DatagramPacket;import java.net.DatagramSocket;import java.net.InetSocketAddress;/** * 基本流程 * 发送端 * 1.使用DatagramSocket创建发送端,指定端口 * 2.准备数据转成字节数组 * 3.分装成DatagramPacket包裹,.
2020-07-29 11:31:48 105
原创 Java_184_网络编程_IO_ByteArrayOutputStream_ByteArrayInputStream_文件输入输出_同等于上传存储_发送端_接收端
工具类package Ntework;import java.io.ByteArrayInputStream;import java.io.ByteArrayOutputStream;import java.io.File;import java.io.FileInputStream;import java.io.FileOutputStream;import java.io.IOException;import java.io.InputStream;import java.io.
2020-07-28 17:22:07 420
原创 Java_183_网络编程_Object引用类型_封装_解封
模板类package Ntework;class Employ implements java.io.Serializable{ /** * transient:不可序列化状态 */ private transient String name; private double salary; public Employ(){ } public Employ(String name, double salary) { super(); this.name = name
2020-07-28 16:47:45 159
原创 Java_182_网络编程_Socket编程_UDP套接字_DatagramSocket_创建端口_send发送包裹_DatagramPacket_封装包裹_receive拆收包裹
javapackage Ntework;/** * Socket编程,UDP编程,DatagramSocket,DatagramPacket * UDP编程 * 需求:完成在线咨询功能:学生和咨询师在线一对一交流 * 分析:使用基于UDP协议的Socket网络编程实现 * 不需要利用IO流实现数据的传输 * 每个数据发送单元被统一封装成数据包的方式,发送方将数据包发送到网络中,数据包在 * 网络中去寻找他的目的地。 * UDP基本概念 * DatagramSocket:用于发送或接
2020-07-28 10:55:40 146
原创 Java_181_网络编程_传输协议_TCP_UDP_特点_套接字Socket_Socket编程
package Ntework;/** * 传输协议 * UDP TCP * TCP(transfer control protocol):一种面向连接(连接向导)的、可靠的、基于字节流的运输层(Transport layer)通信协议. * 特点 * 1.面向连接 * 2.点到点通信 * 3.高可靠性 * 4.占用系统资源多、效率低 * 三次握手:发送、到达、确认 * * UDP(User DatageamProtocol)一种无连接的传输层协议,提供面向事务的简单不可靠信息传.
2020-07-28 08:59:35 88
原创 Java_180_网络编程_爬虫原理_HttpURLConnection_模拟浏览器
模拟爬虫可访问package Ntework;import java.io.BufferedReader;import java.io.InputStream;import java.io.InputStreamReader;import java.net.URL;/** * 1.URL * 2.下载 * ----- * 3.分析 * 4.正则表达式 * 5.数据存储 * 6.数据清洗 * @author pmc * */public class URLTest2 {
2020-07-28 08:02:35 167
原创 Java_179_网络编程_URL_基本用法_网络三大基石(http/html/url)_url的组成
* 在WWW上,每一信息资源都有唯一且唯一的地址,即同一资源定位符Uniform Resource Locator.* 如:http://www.google.com:80/index.html,由4部分组成* 1.协议-->http* 2.存放资源的主机域名-->www.baidu.com* 3.端口号-->http默认80* 4.资源文件名-->index.thml* 5.参数传递-->index.html?argl?argl=!&arg?...
2020-07-27 16:47:06 128
原创 Java_178_网络编程_端口基础知识_InetSocketAddress_getPort_查看所有端口_查看指定端口_按PID查看指定进程_cmd_netstat_tasklist
端口基础知识package Ntework;import java.net.InetAddress;import java.net.UnknownHostException;/** * 网络编程(非网页编程) * * IP地址用来标识一台计算机,但是一台计算机上可能提供多种网络应用程序,如何来区分这些不同的 * 程序呢?这就要用到端口. * 端口是虚拟的概念,并不是说在主机上真的有若干个端口.通过端口,可以在一个主机上运行多个 * 网络应用程序.端口的表示是一个16位的二进制数
2020-07-25 11:02:26 129
原创 Java_177_网络编程_基础知识_通信协议_通信接口_网络分层_OSI参考模型_数据封装_数据拆封_IP地址分类_特殊IP地址_InetAddress对象
package Ntework;import java.net.InetAddress;import java.net.UnknownHostException;/** * 网络编程(非网页编程) * * 通讯协议 * 计算机网络中实现通信必须有一些约定即通信协议,对速率,传输代码,代码结构,传输控制步骤,出错控制等制定标准. * * 通信接口 * 为了使两个节点之间能进行对话,必须在它们之间建立通信工具(即接口),使彼此之间能进行信息交换. * 接口包括两部分: * 硬件.
2020-07-25 10:07:41 148
原创 Java_176_Thread_高级主题_CAS_原子操作
package TCPUDPThread;import java.util.concurrent.atomic.AtomicInteger;/** * CAS * 锁分为两类 * 悲观锁:synchronized是独占锁即悲观锁,会导致其他所有需要锁的线程挂起,等待持有锁的线程释放锁. * 乐观所:每次不加锁而是架设没有冲突而去完成某项操作,如果因为冲突失败就重试,直到成功为止. * * Compare and Swap 比较并交换 * 乐观锁的实现: * 有三个值:一个当前内存.
2020-07-24 11:14:11 75
原创 Java_175_Thread_可重入锁_不可重入锁_synchronized不可中断_ReentrantLock可中断
可重入锁package TCPUDPThread;import java.util.ArrayList;import java.util.List;import java.util.concurrent.CopyOnWriteArrayList;/** * 可重入锁 * 锁作为并发共享数据保证一致性的工具,大多数内置锁都是可重入的,也就是说,如果某个线程试图获取一个已经由它自己持有的锁时,那么这个请求会立刻成功,并且将这个锁的计数值加1,而当线程退出同步代码块时,计数器将会递减,当计数
2020-07-23 17:59:59 220
原创 Java_174_Thread_高级主题_ThreadLocal局部变量只有自己能看到_InheritableThreadLocal拷贝一份
ThreadLocal 局部变量,只有自己可以看见package TCPUDPThread;/** * ThreadLocal * 在多线程环境下,每个线程都有自己的数据.一个线程使用自己的局部变量比使用全局变量要好,因为局部变量只有线程自己能看见,不会影响其他线程. * ThreadLocal能够放一个线程级别的变量,其本身能够被多个线程共享使用,别且又能够达到线程安全的目的.说白了,ThreadLocal就是想在多线程环境下去 * 保证成员变量的安全,常用的方法,就是get/set/in
2020-07-21 10:05:35 89
原创 Apple_Book_Magsafe 2 接口苹果笔记本
Magsafe 2 个人还是非常喜欢这个电源接口,15款以后的弃用Magsafe 2接口真是太可惜了。MJLQ2 15款i7 4770HQIntel Iris Pro Graphics 5200MJLT215款i7 4870HQAMD Radeon R9 M370X+Intel GMA HD 5200 (2G/DDR5/128bit)//个人偏好MGXA214款i7 4770HQIntel Iris Pro Graphics 5200MGXC214款i7 4870HQN...
2020-07-18 09:27:33 1241
原创 Java_173_Thread_高级主题_指令重排_HappenBefore_volatile解决指令重排_DCL单列模式_double-checking_volatile-synchronized
指令重排package TCPUDPThread;/** * HappenBefore * 你写的代码很可能根本没按你期望的顺序执行,因为编译器和CPU会尝试重排指令使得代码更快地运行 * * 两个层面:一个是虚拟机层面,一个是硬件层面 * * 执行代码的顺序可能与编写代码不一致,即虚拟机优化代码顺序,则为指令重排happen-before即:编译器货运行时环境为了优化程序性能而采取的对指令进行重新排序执行的一种手段. * 在虚拟机层面,为了尽可能减少内存操作速度运慢于CPU运行速
2020-07-17 10:14:03 154
原创 Java_172_Thread_高级主题_定时调度_Timer_TimerTask_任务调度器_quartz_导入_使用
定时调度package TCPUDPThread;import java.util.Calendar;import java.util.Date;import java.util.GregorianCalendar;import java.util.Timer;import java.util.TimerTask;/** * 高级主题:定时调度,more * * 任务定时调度 通过Timer和Timetask,我们可以实现定时启动某个线程. java.util.Timer:类似
2020-07-13 22:00:30 244
原创 Java_171_Thread_协作并发_信号灯法
package TCPUDPThread;import java.util.ArrayList;import java.util.List;import java.util.concurrent.CopyOnWriteArrayList;/** * 线程协作:并发协作_生产者消费者模式 * * 应用场景:生产者和消费者问题 假设仓库中只能存放一件产品,生产者将生产出来的产品放入仓库,消费者将 仓库中产品取走消费; * 如果仓库中没有产品,则生产者将产品放入仓库,否则停止生产并等待,直.
2020-07-13 17:02:37 145
原创 Java_170_Thread_管程法_synchronized_wait()_notifyAll()
管程法-借助缓冲区package TCPUDPThread;import java.util.ArrayList;import java.util.List;import java.util.concurrent.CopyOnWriteArrayList;/** * 线程协作:并发协作_生产者消费者模式 * * 应用场景:生产者和消费者问题 假设仓库中只能存放一件产品,生产者将生产出来的产品放入仓库,消费者将 仓库中产品取走消费; * 如果仓库中没有产品,则生产者将产品放入仓库,
2020-07-13 11:08:25 135
原创 Java_169_Thread_线程协作_wait()_wait(long timeout)_notifiy()_notifyAll()_只能再synchronized方法或代码块中使用否则异常
线程协作理论/解决方法/方法package TCPUDPThread;import java.util.ArrayList;import java.util.List;import java.util.concurrent.CopyOnWriteArrayList;/** * 线程协作:并发协作_生产者消费者模式 * * 应用场景:生产者和消费者问题 假设仓库中只能存放一件产品,生产者将生产出来的产品放入仓库,消费者将 仓库中产品取走消费; * 如果仓库中没有产品,则生产者将产品
2020-07-09 11:26:09 219
原创 Java_168_Thread_死锁_避免死锁_避免同时持有多个对象的锁
死锁\避免死锁package TCPUDPThread;import java.util.ArrayList;import java.util.List;import java.util.concurrent.CopyOnWriteArrayList;/** * 死锁 死锁:多个线程各占有一些共享资源,并且互相等待其他线程占有的资源才能进行,而导致两个 * 或者多个线程都在等待对方释放资源,都停止执行的情形.某一个同步块同时拥有"两个以上对象的锁" 时,就可能会发生"死锁"的问题.
2020-07-09 09:30:54 169
原创 Java_167_Thread_CopyOnWriteArrayList_并发容器
并发容器import java.util.concurrent.CopyOnWriteArraylist;package TCPUDPThread;import java.util.ArrayList;import java.util.List;import java.util.concurrent.CopyOnWriteArrayList;/** * 线程安全:操作并发容器 * import java.util.concurrent.CopyOnWriteArrayList; *
2020-07-07 20:41:54 113
原创 Java_167_Thread_线程安全synchronized_模拟选座_List「Integer」
模拟影院选座package TCPUDPThread;import java.util.ArrayList;import java.util.List;/** * 快乐影院 * * @author pmc * */public class synchronizedTest6 { public static void main(String[] args) { //影院可用位置 List<Integer> available = new ArrayList&
2020-07-07 15:53:51 339
原创 Java_166_Thread_并发_同步_性能分析_synchronized(this)_双重检测_多用锁块_少用方法锁
双重检测double checking多用锁块,少用方法锁package TCPUDPThread;/** * 抢票 * * 线程同步 * 并发控制:synchronized * * 准确性:线程安全 * * 线程不安全:数据有负数/相同 * * 队列与锁 * 并发:同一个对象多个线程同时操作 * * 线程同步 * 由于同一进程的多个线程共享同一块存储空间,在带来方便的同时,也带来了 * 访问冲突的问题.为了保证数据在方法中被访问时的正确性,在访问时加入
2020-07-03 17:47:35 140
原创 Java_165_Thread_线程同步_并发_锁_模拟抢票_模拟取钱_模拟容器_synchronized锁方法_synchronized锁块(对象)
模拟抢票package TCPUDPThread;/** * 抢票 * * 线程同步 * 并发控制:synchronized * * 准确性:线程安全 * * 线程不安全:数据有负数/相同 * * 队列与锁 * 并发:同一个对象多个线程同时操作 * * 线程同步 * 由于同一进程的多个线程共享同一块存储空间,在带来方便的同时,也带来了 * 访问冲突的问题.为了保证数据在方法中被访问时的正确性,在访问时加入 * 锁机制(synchronized),当一个线程获
2020-07-03 15:58:45 150
ZOC_Terminal_v7.25.7_iMac.hk_.dmg
2020-07-27
msvcr71.rar
2019-12-28
anydesk5.1.2.rar
2019-05-28
PC端400SADP2019.rar
2019-05-24
Timleft中文版
2018-10-13
屏幕计数器无广告,功能多
2018-10-13
Clover启动样式主题
2017-07-28
clover核显配置文件config
2017-07-28
clover for mac 修改工具+pdf图解
2017-07-28
变色龙U盘版工具箱
2017-07-27
黑苹果触摸板键盘驱动
2017-07-27
clover四叶草Graphics
2017-07-27
Clover 四叶草 v3651
2017-07-27
Win7局域网共享设置兼容32/64系统
2015-05-19
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人