1 今天又学java了

尚未进行身份认证

好难

等级
TA的排名 10w+

网络层

讨论网络互联问题1. 网络层所提供的两种服务争论在于可靠交互由谁来负责1.1 虚电路服务让网络负责可靠交付面向连接的通信方式建立虚电路(Virtual Circuit),以保证双方通信所需的一切网络资源;虚电路表示这只是一条逻辑上的连接,分组都沿着这条逻辑连接按照存储转发方式传送,而并不是真正建立了一条物理连接如果再使用可靠传输的网络协议,就可使所发送的分组无差错按序到达...

2020-02-20 12:53:07

并发共享模型之管程

**临界区:多个线程对共享资源的读写操作时发生指令交错,就会出现问题,一段代码如果出现对共享资源的多线程读写操作,这段代码称为临界区**竞态条件:**多个线程在临界区内执行,由于代码的执行序列不同而导致结果无法预测,称之为发生了竞态条件1. 阻塞式的解决方案(synchronized,lock)1.1 synchronizedsynchronized (对象){ //临界区}syn...

2020-02-18 19:23:07

查找素数

转载素数的定义很简单,如果一个数如果只能被 1 和它本身整除,那么这个数就是素数。不要觉得素数的定义简单,恐怕没多少人真的能把素数相关的算法写得高效。比如让你写这样一个函数:// 返回区间 [2, n) 中有几个素数 int countPrimes(int n)// 比如 countPrimes(10) 返回 4// 因为 2,3,5,7 是素数你会如何写这个函数?我想大家应该会...

2020-02-18 15:27:13

多线程的设计模式

1. 两阶段终止模式Two Phase Termination在线程T1中优雅的终止线程T2,优雅的意思是给线程T1一个料理后事的计划1.1 错误思路直接使用stop()来强制杀死线程:这样如果线程锁住了某一个共享资源,他被强制杀死就没有机会释放锁,其他的线程没法获得锁使用System.exit(int):这个直接杀死了进程,也不是我们想要的1.2 两阶段终止模式可以用在...

2020-02-17 21:51:12

几个线程方法

常用函数1. sleep(long millis)Thread.sleep(long millis): 在指定的毫秒数内让当前正在执行的线程休眠(暂停执行)使用TimeUnit的可读性更好TimeUnit.SECONDS.sleep(1);2. join()join():指等待t线程终止。(join(long n)class test{ static int r =10; ...

2020-02-17 21:33:39

Java高并发编程

1. 一个synchronized代码块就是一个原子操作,不可分2. 为什么会产生脏读比如有一个银行存款程序,我们只对存钱加锁而对取钱不加锁,那么会出现脏读的问题public class Account { private String name; private double money; public synchronized void set(String n...

2020-02-16 21:42:53

IntelliJ IDEA git 项目检出、更新、提交、解决冲突、取消提交、还原代码

检出项目前提:在开发环境中安装好IntelliJ IDEA和gitlab,并且在gitlab完成了SSH Key注册。打开idea,选择VCS→Checkout from Version Control→Git或者点击VCS→Git→Clone或者出现填写项目详情窗口从gitlab官网复制远程地址可以选Test按钮测试远程服务是否可用,出现success为服务正常,之后选择相应...

2020-02-16 18:55:12

数据链路层

1. 数据链路层的基本概念和基本问题1.1 为什么需要数据链路层**对于物理层:**物理层的线路有传输介质与通信设备组成,比特流在传输介质上传输时一定会存在误差,而设置数据链路层目的就是为了在存在差错的物理层的基础上,采用差错检测,差错控制和流量控制等方法,将有差错的物理线路改进为无差错的数据链路,向网络层提供高质量的数据传输服务**对于网络层:**由于数据链路层的存在,网络层不...

2020-02-16 13:16:26

物理层

1. 概念物理层解决如何在连接各种计算机的传输媒体上传输数据比特流物理层的主要任务是:确定与出传输媒体接口的一些特征2. 数据通信的基础知识...

2020-02-16 09:32:21

计算机网络 概述

1. 三网电信网络:打电话的,现在又分中国移动,中国电信等运营商维护计算机网络:因特网等网络有线电视网络:看电视的其实电信网络,有线电视网络都会依赖计算机网络网络提供了① 连通性 彼此连通 交换信息② 共享 信息共享 软硬件共享2. 局域网和广域网PC —> 无线路由器 —> (LAN)光猫(WAN) —> ISP —> Internet GW —>...

2020-02-15 14:55:43

Java多线程

转载自 林炳文Evankaka1. 概述1.1 进程和线程的定义进程:具有一定独立功能的程序关于某个数据集合上的一次运行活动,进程是系统进行资源分配和调度的一个独立单位.每个进程都有独立的代码和数据空间(进程上下文),进程间的切换会有较大的开销,一个进程包含1–n个线程。(进程是资源分配的最小单位)线程:线程是进程的一个实体,是CPU调度和分派的基本单位,它是比进程更小的能独立运...

2020-02-13 19:04:00

深入分析Java Web之 Java I/O的工作机制

1. 磁盘I/O的工作机制1.1 几种访问文件的方式读取和写入文件I/O操作都是调用操作系统提供的接口,系统调用是在内核空间进行的,而用户程序的操作是在用户空间进行,所以磁盘IO是先将数据从磁盘复制到内核空间,再从内核空间复制到用户空间;为了加速IO的访问,操作系统在内核空间使用缓存机制,把从磁盘读取的文件按照一定的组织方式进行缓存,如果用户程序访问的是同一段磁盘地址的空间数据,那么操作系...

2020-02-12 14:55:14

File类

转载构造方法// File 一共有 4 种构造器,如下:File parentDir = new File("D://test"); // 通过目录路径字符串创建File file1 = new File("D://test//file1.txt"); // 通过文件路径字符串创建File file2 = new File(parentDir, "childDir"); // 通过指定父...

2020-02-12 11:23:43

IO使用

转载1. 字节流复制文件package io2;import java.io.*;/** * * 测试复制的时间 * Create by stefan * Date on 2018-05-28 10:28 * Convertion over Configuration! */public class copy2 { //一个字节一个字节的复制,耗时22697毫秒...

2020-02-12 10:45:32

缓冲流

1. 概述缓冲流在创建流对象的时候会创建一个内置的默认大小的缓冲数组,通过缓冲区的读写,减少系统的IO次数,从而提高读写效率2. BufferedOutputStream构造方法会给outputStream中创建一个缓冲区,提高使用的效率使用(注意要使用flush刷新)//创建FileOutputStream对象FileOutputStream fr = new FileOut...

2020-02-11 19:57:45

IO字符流

字符流1. 字节流的问题当使用字节流读取文本文件的时候,遇到中文字符,可能不会显示完整的字符,因为一个字符会占用多个字节存储,而字节流一次只能读取一个字节2. 字符输入流Reader用于读取字符流的抽象类。 子类必须实现的唯一方法是read(char [],int,int)和close();然而,大多数子类将覆盖这里定义的一些方法,以便提供更高的效率,附加的功能或两者2.1 File...

2020-02-11 19:03:45

IO字节流

1. IO流概述2. 字节流2.1 一切皆为字节所有的文件数据(文本,图片,视频)在存储的时候都是以二进制数字的形式存储的,都是一个一个的字节,传输的时候一样如此① 所以字节流可以传输任意文件数据② 无论使用什么样的流对象,底层的传输始终为二进制数据2.2 字节输出流OutputStreamjava.io.OutputStream 这个抽象类是表示字节输出流的所有类的超类,定义了...

2020-02-11 16:52:18

深入分析Java Web之 深入Web请求过程

1. 深入Web请求过程1.1 B/S架构1.1.1 B/S架构带来的好处客户端使用统一的浏览器① 浏览器具有统一性,不需要特殊的配置,有效的屏蔽了不同服务提供商提供给用户实现服务的差异,使用简单服务的基于统一的HTTP① 传统的C/S架构使用自定义的应用层协议,B/S使用统一的HTTP协议,为服务提供商简化了开发模式,使服务器开发者使用规范的开发模式;② 对于服务开发者来说...

2020-02-10 20:43:31

双指针解决链表问题

1. 快慢指针找链表中点使用快慢指针在一次遍历中找到:慢指针一次走一步,快指针一次走两步,快慢指针同时出发。当快指针移动到链表的末尾时,慢指针到链表的中间。通过慢指针将链表分为两部分 private ListNode endOfFirstHalf(ListNode head) { ListNode fast = head; ListNode slow = hea...

2020-02-10 12:44:38

手写Tomcat之Socket编程

java socket编程Java Socket编程----通信是这样炼成的针对网络通信的不同层次,Java提供了不同的API,其提供的网络功能有四大类1. InetAddress用于标识网络上的硬件资源,标识互联网协议(IP)地址。//获取本机的InetAddress实例InetAddress address =InetAddress.getLocalHost();address....

2020-02-08 21:58:33

查看更多

勋章 我的勋章
  • 持之以恒
    持之以恒
    授予每个自然月内发布4篇或4篇以上原创或翻译IT博文的用户。不积跬步无以至千里,不积小流无以成江海,程序人生的精彩需要坚持不懈地积累!
  • 勤写标兵Lv4
    勤写标兵Lv4
    授予每个自然周发布9篇以上(包括9篇)原创IT博文的用户。本勋章将于次周上午根据用户上周周三的博文发布情况由系统自动颁发。