ShineYoung

导航

 

2019年3月26日

摘要: 内核态和用户态最主要区别在于权限不同,比如特权级别0-3,0级就意味着进入内核态,分级别之后,应该程序大部分情况下运行在用户态,保证了程序运行的安全性 什么情况下会发生从用户态向内核态切换。这里细分为3种情况。 1、发生系统调用时 这是处于用户态的进程主动请求切换到内核态的一种方式。用户态的进程通过 阅读全文
posted @ 2019-03-26 16:01 ShineYoung 阅读(147) 评论(0) 推荐(0) 编辑
 
摘要: 计算机网络顶层-应用层常见协议 DNS DNS提供了主机名和IP地址之间相互转换的服务,DNS协议一般运行在UDP协议上,使用53号端口(长度超过512字节采用TCP) 邮件访问协议 SMTP、POP3、IMAP3种 FTP FTP采用了两个并行的TCP连接来传输文件,一个是控制连接(端口21),一 阅读全文
posted @ 2019-03-26 14:32 ShineYoung 阅读(124) 评论(0) 推荐(0) 编辑
 

2019年3月24日

摘要: 四种JDBC驱动程序 JDBC-ODBC桥驱动程序(JDBC-ODBC Bridge Driver) 此类驱动程序由JDBC-ODBC桥和一个ODBC驱动程序组成。其工作原理是,通过一段本地C代码将JDBC调用转化成ODBC调用。这一类型必须在本地计算机上先安装好ODBC驱动程序,然后通过JDBC- 阅读全文
posted @ 2019-03-24 15:45 ShineYoung 阅读(1954) 评论(0) 推荐(0) 编辑
 

2019年3月23日

摘要: 多线程的优点 提高系统的吞吐率。多线程编程使得一个进程中可以有多个并发的操作。例如,当一个进程因为I/o操作处于等待时,其他线程仍然可以执行其操作。 提高响应性。在使用多线程编程的情况下,对于web应用程序而言,一个请求因为网络延迟迟迟得不到满足,不影响其他请求 充分利用多核处理器资源。 最小化对系 阅读全文
posted @ 2019-03-23 16:42 ShineYoung 阅读(971) 评论(0) 推荐(0) 编辑
 

2019年3月20日

摘要: Catcher是MCA国的情报员,他工作时发现敌国会用一些对称的密码进行通信,比如像这些ABBA,ABA,A,123321,但是他们有时会在开始或结束时加入一些无关的字符以防止别国破解。比如进行下列变化 ABBA->12ABBA,ABA->ABAKK,123321->51233214 。因为截获的串 阅读全文
posted @ 2019-03-20 18:09 ShineYoung 阅读(199) 评论(0) 推荐(0) 编辑
 

2019年3月15日

摘要: 转载文章 进程通信的方式 管道( pipe ): 管道包括三种: 普通管道PIPE: 通常有两种限制,一是单工,只能单向传输;二是只能在父子或者兄弟进程间使用. 流管道s_pipe: 去除了第一种限制,为半双工,只能在父子或兄弟进程间使用,可以双向传输. 命名管道:name_pipe:去除了第二种限 阅读全文
posted @ 2019-03-15 18:23 ShineYoung 阅读(85) 评论(0) 推荐(0) 编辑
 
摘要: 讲基本类型和包装类型之前,首先要介绍,装箱和拆箱 装箱:基本类型转化为包装类型 拆箱:包装类型转化为拆箱类型 为什么要有包装类型?Java是面向对象的语言,Java中一切都是对象除了基本数据类型,所以有时候我们需要把基本类型转化为对象来使用,就需要包装类型 所有的包装类(Integer、Long、B 阅读全文
posted @ 2019-03-15 14:53 ShineYoung 阅读(150) 评论(0) 推荐(0) 编辑
 

2019年3月13日

摘要: 看了别人的代码,发现自己还是菜了。对Java api的使用不熟练 介绍一下题目 题目描述 编写一个程序,将输入字符串中的字符按如下规则排序。 规则 1 :英文字母从 A 到 Z 排列,不区分大小写。 如,输入: Type 输出: epTy 规则 2 :同一个英文字母的大小写同时存在时,按照输入顺序排 阅读全文
posted @ 2019-03-13 23:56 ShineYoung 阅读(220) 评论(0) 推荐(0) 编辑
 

2019年3月12日

摘要: 本文参考自https://infoq.cn/article/java-memory-model-1 JMM是指Java内存模型,这个和JVM内存区域划分是不同的东西,之前有在讲volatile关键字时提到,这个做个详细的讲解。 为什么要了解JMM呢?并发编程时我们都知道多线程通信有两种主要的方法:共 阅读全文
posted @ 2019-03-12 18:12 ShineYoung 阅读(132) 评论(0) 推荐(0) 编辑
 
摘要: 说起GC,我们要思考的主要有三件事 哪些内存需要回收 那些已经“死去”的对象,那么哪些对象“死”,哪些对象“活”呢,有个简单的办法 引用计数法,但是没法解决循环依赖问题 所以Java虚拟机采用的是可达性分析算法 这个算法通过一系列称为“GC Roots”的对象作为起始点,从这些节点开始向下搜索,如果 阅读全文
posted @ 2019-03-12 17:54 ShineYoung 阅读(82) 评论(0) 推荐(0) 编辑