- 博客(40)
- 收藏
- 关注
原创 经典话题-三次握手和四次挥手
三次握手,四次挥手的详细过程;为什么要进行三次握手,为什么进行第三次握手,而不是两次握手;第四次挥手的作用是什么;time_wait的作用是什么;为什么连接的时候是三次握手,关闭的时候却是四次挥手
2020-03-10 09:17:44 149
原创 JVM(3)-垃圾回收算法
JVM垃圾回收算法:标记-清除算法,复制算法,标记-整理算法,分代收集算法的详细过程;HotSpot实现垃圾回收的过程;伊甸园和幸存者的介绍;新生代GC和老年代GC的区别
2020-03-01 22:12:07 198
原创 JVM(2)-对象可用性的判定以及自我拯救
引用计数法和可达性分析算法的详细实现过程,可作为GC Roots的对象,以及原因;引用的分类:强引用,软引用,弱引用,虚引用;对象的自我拯救过程;如何判断一个类是无用类
2020-02-26 19:22:15 254
原创 JVM(1)-Java的内存区域划分
JVM是什么?Java的6大内存区域划分;线程私有内存和线程共享内存分别包括哪些,哪些内存区域会产生OOM异常
2020-02-26 18:48:13 211
原创 死磕多线程(8)-ReentrantLock,Condition详解
ReentrantLock重入性实现原理,公平锁与非公平锁的源码分析与对比,可重入读写锁的详解,Condition的await与signal 等待/通知机制
2020-02-19 21:10:08 756
原创 死磕多线程(7)-深入理解AQS(源码解析)
通过AQS源码来了解lock体系中独占锁的获取和释放,以及它所具备的特性:响应中断,超时获取锁究竟是如何实现的,通过对源码的分析来掌握每个方法的功能和实现逻辑
2020-02-18 20:44:46 188
原创 死磕多线程(6)-lock体系简介
lock体系与内建锁的区别与联系,lock接口下提供的API和常用方法,lock锁的使用方法,lock体系中AQS同步器的作用与介绍,AQS提供的独占锁以及共享锁模板方法,AQS中的同步队列
2020-02-18 19:59:20 345
原创 死磕多线程(1)-基本用法
线程是进程中的任务,一个进程中包括N个进程;进程,线程的区别1.每一个进程拥有自己的一整套变量,是操作系统中资源分配的最小单位,线程依托于进程存在,并且多个线程共享进程的资源,线程是os中任务调度的基本变量2.启动撤销一个进程的开销要比启动撤销一个线程大的多(线程轻量级)3.没有进程就没有线程,进程一旦终止,其内的线程全部撤销
2020-01-09 13:42:07 174
原创 什么?还有人不知道String类的这些方法?快进来挨打!
String类的常用方法,如何替换字符串中的某个字符?如何分割字符串?如何查找字符串中的某个特定字符?
2019-12-14 20:32:14 143
原创 什么是”代理设计模式“,如何使用
代理设计模式就是两个子类共同实现一个接口,其中一个子类完成辅助真实业务实现,另一个子类完成辅助真实业务主题的操作
2019-11-23 18:14:15 273
原创 工厂设计模式(如何把客户端的new操作解耦到第三方)
工厂设计模式就是将客户端的new操作解耦到第三方(工厂类)中,工厂设计模式又分为简单工厂,工厂方法模式和抽象工厂,其中简单工厂适合产品个数少且彼此分离的,工厂方法模式适合....
2019-11-23 15:49:27 304 1
原创 什么是接口
接口就是抽象方法与全局常量的集合,是纯粹版的抽象类。抽象类和接口的区别:1.结构上:抽象类由普通类和抽象方法构成,接口由全局常量和抽象方法构成
2019-11-17 20:14:24 201
原创 如何使用“模板设计模式”
什么是“模板设计模式”,模板设计模式就是基于抽象类,在一个方法中定义一个算法骨架,而将一些步骤延迟到子类中,模板模式可以使得子类在不改变算法的前提下,重新定义算法中的一些步骤
2019-11-17 19:19:03 141
原创 抽象类的使用和注意事项
抽象类就是有抽象方法的类,抽象方法是用abstract修饰的只声名而未实现的方法,abstract和private不能同时使用,abstract和final不能同时使用
2019-11-15 21:28:50 437
原创 关于代码块的经典考题(以下代码块的执行顺序是什么)
下列代码块的执行顺序是什么?构造快是类中定义的代码块,对象产生时执行,产生几个对象执行几次;静态代码块在类加载时执行
2019-11-13 18:19:34 716
原创 java计算器页面设计
今天学习了Java的GUI图形界面,并实现了如下图所示的复杂计算器界面的设计,在设计算器界面的整个过程中遇到了不少小问题,值得注意和总结。由于计算器界面较复杂,按键较多,因此需要用到面板的嵌套,但是面板为二级容器,不能单独出现,必须依赖于窗口。其中代码如下:public class CalTest extends JFrame { public CalTest(){ ...
2019-11-10 20:18:11 2126
原创 关于软件测试你必须知道的名词
关于软件测试的基本概念什么是软件测试软件测试其实就是一个找Bug的过程,它来验证软件能正常运行为什么要做软件测试对于一个产品来说,测试是至关重要的,研发造就了产品,测试保障了产品,同时通过分析错误产生的原因,阶段及错误发生的趋势来帮助项目管理者或者研发人员了解当前软件开发中的缺陷以便及时纠错,改正。什么是需求需求是 满足用户期望或正式文档规定的条件,它分为用户需求和软件需求...
2019-11-04 17:48:57 424
原创 验证程序的输入
在我们编写的大部分代码中,都需要用户进行输入,如果没有输入前验证的话,用户的任意一个随意输入都会造成代码的崩溃,为了避免读取用户的无效输入,输入验证对每个程序都是必要的。例如程序需要输入一个小数: 在此介绍三种验证输入的思路:do-while实现,return实现和break实现。使用do-while验证输入do-while是一种后测试循环,即无论如何都会先运...
2019-10-31 19:56:21 260
原创 java中的关键字
this关键字I.this表示 本类属性程序的就近取用原则:使用this.属性名称表示直接从类中寻找同名属性在类中使用本类属性一定要加上this关键字class Person { private String name ; private int age ; public Person (String name ,int age ){ ...
2019-10-21 00:15:58 192
原创 红帽大赛知识点总结
文件系统层次构bin:存放二进制可执行文件boot:存放系统启动文件dev:访问硬件所需文件etc:系统配置文件home:用户主目录root:超级用户目录run:执行文件sbin:系统管理命令tmp:临时文件存放usr:安装的软件,共享库,文件和静态只读程序数据var:动态变化文件命令行文件管理创建目录mkdirmkdir -p...
2019-10-20 00:29:16 578
原创 Scanner类的bug
Scanner类的bug在用Scanner类进行读入时,我发现了一个奇怪的现象:Scanner scanner = new Scanner(System.in);String name;name = scanner.nextLine();int age;age = scanner.nextInt();System.out.println("name:"+name+",age:"+ag...
2019-10-08 21:21:12 276
原创 多线程重点知识总结
多线程1.Java中的多线程实现方式:继承Thread实现Runnable、Callable线程池(推荐)2.多线程常用操作方法:sleep():线程休眠,运行态 -> 阻塞态,不会释放锁,立即交出CPUyield():线程让步,运行态 -> 就绪态,不会释放对象锁,交出CPU时间不确定,由系统调度只会让拥有相同优先级的线程有获取CPU的机会。join():当前线程等...
2019-07-31 13:28:23 225
原创 类集重点知识总结
类集1.LinkedList ArrayList Vector共同点:a)这三个类都是List接口下的常用接口类,其中ArrayList,Vector基于数组实现,LinkedList基于双向链表实现不同点:b)ArrayList采用懒加载策略,即第一次添加元素时进行初始化内部数组(大小为10)ArrayList扩容为原先数组的1.5倍ArrayList采用异步处理,线程不安全...
2019-07-28 15:34:59 79
原创 Java中类加载的过程
类的加载到JVM分为以下五个阶段一.加载将二进制流加载到JVM方法区中,并生成一个class文件,作为类的访问入口1.通过类的全限定名获取类的二进制字节流,(通过文件,网络,二进制流等方法获取)2.将字节流所代表的静态存储结构转换为运行时数据结构3.在内存中生成Java.lang.Class对象,作为方法区该类的各种数据的访问入口二.验证用来确保二进制流不会危害到JVM系统安全1....
2019-07-23 18:13:52 91
原创 网络基础总结
计算机网络背景网络发展独立模式:计算机之间相互独立;网络互联:多台计算机连接在一起,完成数据共享;局域网LAN:将计算机通过交换机和路由器连接在一起;广域网WAN:将远隔千里发计算机都连在一起;城域网MAN:在一个城市范围内建立的计算机通信网;认识“协议”:两台主机通信之间相互“约定的格式”。计算机之间的传输媒介...
2019-07-18 12:31:06 162
原创 以下哪个ip不和10.11.12.91/28处于同一个子网
以下哪个ip不和10.11.12.91/28处于同一个子网A 10.11.12.85/28B 10.11.12.88/28C 10.11.12.94/28D 10.11.12.97/28正确答案选DIP地址由网络号和主机号组成,前28位为网络号,所以前28位都相同,可得子网掩码为(255.255.255.240)—>(11111111.111111111.111111111.11...
2019-07-16 21:10:55 3162 1
原创 java常见异常总结
按照不同的角度可以对异常有以下几种分法:分法一:Error类异常:严重错误,不允许捕获,如系统崩溃,虚拟机错误 Exception异常:标准Java库方法所激发的异常RuntimeException :程序(代码)错误导致的异常IOException:程序本身没有错误,IO操作错误产生的异常分法二: 受查异常:其他异常(需要声名并捕获异常) 非受查异常:Error,...
2019-06-26 20:06:59 1910
原创 内存回收
内存回收的概念 当一个对象不再被引用时,原本分配给此对象的内存便成为垃圾,JVM的一个系统级线程会自动释放该内存块在此要引出“引用传递”这一概念此时若执行 per2 = per1; 内存指向就发生了新的变化:当一个对象的引用被置为null时,垃圾回收器并不会立即回收,而是在下一次进行垃圾回收时释放其所占内存垃圾回收机制只针对堆内存中的对象:堆内存...
2019-06-20 10:15:41 159
原创 c语言三种方法求n的k次方
// 方法一//递归#define _CRT_SECURE_NO_WARNINGS#include <stdio.h>#include <stdlib.h>int Power(int n,int k) //题目中有两个变量,在设计函数时需要两个形参{ if (k == 0) return 1; else if (k == 1) return ...
2018-11-16 23:50:52 15738 2
原创 递归和非递归分别实现strlen
//5.递归和非递归分别实现strlen//strlen计算给定数组长度,碰到"\0"结束,但所求数组长度不包括'\0'//strlen从内存的某个位置开始,可以是字符串开头,中间某个位置,甚至是某个不确定的内存域//指针//指针是程序数据在内存中的地址,指针便量是用来保存这些地址的变量//若指针变量p保存了变量num的地址,则称p指向了变量num//int* a -> a为一个...
2018-11-15 22:08:58 259
原创 三子棋C语言实现
//三子棋//1.打印棋盘//2.电脑落子,判断是否结束//3.玩家落子,判断游戏是否结束//4.重复以上#define _CRT_SECURE_NO_WARNINGS#include<stdio.h>#include<stdlib.h>#include <time.h> // #define ROW 3#define ...
2018-11-14 20:40:25 127
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人