学习笔记
Mankind_萌凯
90后,计算机研究生,欢迎关注我的微信公众号:萌凯的程序人生
展开
-
操作系统概念扫盲
作为一名计算机专业的学生,对底层的东西都会比较感情兴趣。寒假看了《操作系统真象还原》这本书,作者写的很好,感觉不做下笔记的话对不起作者。软件是靠硬件运行的,软件能实现什么功能,很大程度上取决于硬件提供了哪些支持。理解好底层的东西,对学习新的概念和事物也有很大帮助。操作系统是非常复杂的体系结构,下面对最近学的内容进行梳理,方便以后查阅。内容有点多,大多摘自《操作系统真象还原》,感兴趣的慢慢看吧。原创 2017-02-07 15:39:07 · 2162 阅读 · 0 评论 -
【java总结】集合框架
Collection是集合框架层次结构中的根接口。Collection 表示一组对象,这些对象也称为 collection 的元素。一些 collection 允许有重复的元素,而另一些则不允许。一些 collection 是有序的,而另一些则是无序的。Collection接口下有最常用的接口为List跟Set。然而,Map并没有实现Collection接口。L原创 2017-02-11 13:49:45 · 450 阅读 · 0 评论 -
【计算机网络】运输层
运输层运输层协议为运行在不同主机上的进程提供了逻辑通信功能,使得主机之间好像直接相连一般。运输层协议最重要的便是TCP和UDP协议,这是当今最主流的运输层协议。运输层提供了不同主机上的进程之间的逻辑通信,网络层提供了主机之间的逻辑通信。他们之间的区别可以用一个例子来说明。假设有A家族和B家族的人,他们会互相通信。A家族由A1来负责收取A家族所有成员的信件,并将这些信件交到邮政服务的邮车上。原创 2017-02-27 23:45:10 · 1082 阅读 · 0 评论 -
【java总结】TCP/UDP
TCP(Transmission Control Protocol 传输控制协议)TCP主要是面向连接的协议,它包含有建立和拆除连接,保证数据流的顺序和正确性等功能。每次对TCP中间的数据操作相当于对一个数据流进行访问。它最典型的特征就是那三次握手的建立连接过程。Server端所要做的事情主要是建立一个通信的端点,然后等待客户端发送的请求。典型的处理步骤如下:1. 构建一个Server原创 2017-02-12 16:48:33 · 762 阅读 · 0 评论 -
【计算机网络】链路层
计算机网络之链路层协议运行链路层协议的任何设备称为结点。包括主机,路由器,交换机和Wifi接入点。沿着通信路径连接相邻结点的通信信道称为链路。链路层与网络层的关系:考虑一个交通运输类的例子,一个旅行社为游客计划了一个旅游方案:从城市A坐高铁去到城市B,又从B搭飞机去到一个新的城市C游玩。这两段运输过程是由不同的公司管理的,完全不同的运输方式,但都提供了运输的基本服务原创 2017-03-11 19:22:25 · 832 阅读 · 0 评论 -
【java总结】多线程进阶篇之数据结构
BlockingQueue阻塞队列是Java5线程新特征中的内容,Java定义了阻塞队列的接口 java.util.concurrent.BlockingQueue,阻塞队列的概念是,一个指定长度的队列,如果队列满了,添加新元素的操作会被阻塞等待,直到有空位为止。同样,当队列为空时候,请求队列元素的操作同样会阻塞等待,直到有可用元素为止。public class BlockingQ原创 2017-02-20 10:29:21 · 784 阅读 · 0 评论 -
【数据库】从零开始学MySQL数据库语法
#创建数据库CRETAE DATABASE Mankind CREATE DATABASE test#显示所有数据库show databases;#删除test数据库DROP DATABASE testShow databases;#使用数据库Use Mankind#创建表create table user(id int not null prima原创 2017-03-09 23:38:04 · 861 阅读 · 0 评论 -
【easyui】解决easyui闪屏问题
在最近的项目中,后台读取的数据,在前台渲染时需要一定的时间,这段时间内页面的格式混乱,但是过一会儿就会恢复。从用户的角度来看就是闪屏现象,点击之后总是要闪一下才能正常显示。为了增强用户体验,我们可以通过给所有页面增加一个遮罩层,弄出一个loading在转圈即可。前端代码如下:<div id='loadingDiv'style="position: absolute; z-index:原创 2017-09-30 22:13:35 · 1949 阅读 · 0 评论 -
【前端】form标签与table标签混合使用注意事项
写前端时发现一个坑点,记录一下...form表单不能放在table和tr之间,否则提交内容就会很奇怪。也就是说,table,tr,td这三组标签之间不能加入其它标签,否则效果就会很奇怪,博主在使用jQuery进行$("#form").serialize()获取表单内容时,由于form标签夹在了table和tr之间,导致一直获取不到完整的参数,每次只能获取到几个参数,令我感到非常奇怪,各种百度之后才原创 2017-10-19 14:03:28 · 4532 阅读 · 1 评论 -
【java总结】注解Annotation
注解(Annotation)也叫元数据。一种代码级别的说明。它是JDK1.5及以后版本引入的一个特性,与类、接口、枚举是在同一个层次。它可以声明在包、类、字段、方法、局部变量、方法参数等的前面,用来对这些元素进行说明,注释。注解不能直接干扰程序代码的运行,无论增加或者删除注解,代码都能正常运行。java自身提供了3种标准注解,Override注解,Deprecated注解,Suppre原创 2017-02-11 22:06:30 · 513 阅读 · 0 评论 -
【计算机网络】应用层
因特网作为一个世界范围的网络,其结构功能复杂。首先先来了解一些概念端系统:我们把个人主机,智能手机,平板电脑,电视等这些设备称为主机或者端系统。分组:当端系统向端系统发送数据时,发送端系统将数据分段,并为每段加上首部字节,此时的信息称为分组。分组交换机:端系统通过通信链路和分组交换机组合到一起。分组和交换机有路由器和链路层交换机两种。ISP(因特网服务提供商):如住宅区IS原创 2017-02-27 11:57:34 · 1028 阅读 · 0 评论 -
【计算机网络】网络层
网络层是协议栈中最复杂的层次之一。网络层的功能即将分组从一台主机发送到接收主机。这需要网络层协议提供两种功能:①转发。当分组到达路由器时,路由器必须将分组转发到适合的输出链路。②路由选择。当分组从发送方流向接收方时,网络层必须决定这些分那组所采用的路由或路径。计算这些路径的算法称为路由选择算法。③连接建立。就像TCP需要三次握手一样,以类似的方式,某些网络层体系要求从源到目的地沿着原创 2017-03-05 22:43:31 · 1668 阅读 · 0 评论 -
【java总结】多线程(基础篇)
Java的线程分为5种状态:创建、就绪、运行、阻塞和死亡。创建:在java种创建线程的方式有两种,一种是通过继承Thread类并且重写run方法,run方法中执行的代码便是线程执行的代码。另一种是通过实现Runnable接口,并将该接口实例传入一个Thread实例。通过对Thread的引用调用start()方法,即可让线程进入就绪状态。如果直接调用run方法,并不会生成线程,而是在原创 2017-02-19 20:18:46 · 405 阅读 · 0 评论 -
【java总结】多线程进阶篇之atomic包
在java语言中,类似i++这种操作并不是原子性的。它并非线程安全的语句,在实际使用中,我们经常需要使用synchronized语句来保证数据的正确。现如今,大多数处理器都包含原子性指令,常见的指令是CAS(compare and set)和TAS(test and set),是一种加锁的原子操作指令。CAS 操作包含三个操作数 ——内存位置(V)、预期原值(A)和新值(B原创 2017-02-20 08:49:54 · 567 阅读 · 0 评论 -
【java总结】多线程进阶篇之locks包
Java.util.concurrent.locks包提供了一系列关于锁的抽象的类,主要的锁为ReentrantLock,ReentrantReadWriteLock。ReentrantLock(可重入锁)它与synchronized有着相同作用,且功能更加强大。它的构造函数可以传入一个boolean类型的公平因子,当传入true时,在多个线程竞争下将倾向于等待时间最长的线程。默认原创 2017-02-20 09:24:24 · 597 阅读 · 0 评论 -
【java总结】多线程进阶篇之任务执行
众所周知,创建线程的方法有两种,一种是通过继承Thread并重写run()方法,一种是实现Runnable接口,由于run()方法是没有返回值的,因此,这样创建出来的线程也是没有返回值的。为了创造有返回值的线程,java提供了Callable和Future,通过这两个接口,可以在线程完成后得到结果。Callable泛型接口,它含有一个方法:V call() throws Excepti原创 2017-02-20 13:18:50 · 825 阅读 · 0 评论 -
【java总结】多线程进阶篇之辅助类
CompletionService将生产新的异步任务与使用已完成任务的结果分离开来的服务。生产者 submit 执行的任务。使用者 take 已完成的任务,并按照完成这些任务的顺序处理它们的结果。例如,CompletionService 可以用来管理异步 IO ,执行读操作的任务作为程序或系统的一部分提交,然后,当完成读操作时,会在程序的不同部分执行其他操作,执行操作的顺序可能与所请求的顺序不原创 2017-02-20 19:43:35 · 416 阅读 · 0 评论 -
【java总结】反射
JAVA反射机制JAVA有着一个非常突出的动态相关机制:Reflection,即反射机制,用在Java身上指的是我们可以于运行时加载、探知、使用编译期间完全未知的classes。换句话说,Java程序可以加载一个运行时才得知名称的class,获悉其完整构造(但不包括methods定义),并生成其对象实体、或对其fields设值、或唤起其methods。public class Pe原创 2017-02-11 21:13:44 · 444 阅读 · 0 评论 -
【java总结】IO体系
javaIO体系主要分为两种,一种为读取字符的Reader/Writer,一种为读取字节的Input/OutputStream。下面对各个类进行详细介绍 FileInputStream/FileOutputStream以文件作为数据输入源的数据流。或者说是打开文件,从文件读数据到内存的类。FileInputStream可以使用read()方法一次读入一个原创 2017-02-11 22:31:02 · 516 阅读 · 0 评论 -
【java总结】Genneric泛型
Genneric泛型在JDK1.5时引进,是 Java 语言中类型安全的一次重要改进。举个例子,在没有泛型的时候,List里可以放入任意Object,有时我们一厢情愿地认为里面所有放的都是String,在使用的时候把内容提取出来都转成String类来用,然而,List里可以有其他类型,如int类型,自定义类等..这种代码在编译期间不会报错,直到运行时才出现问题。泛型的引进,修正了这种问题,一个原创 2017-02-12 16:18:38 · 703 阅读 · 0 评论 -
【java总结】关于BIO、NIO、AIO的理解
在JavaIO中,提供了3种IO,分别是BIO,NIO和AIO。在学习这三个之前,我们需要先了解一些概念。 IO操作我们知道,一个程序需要经常读取一些外设的信息,如硬盘,显卡上的信息,这些操作被称为IO操作,以读操作为例,IO操作可以被分为两个阶段:①查看数据是否准备就绪,②进行数据拷贝。对于计算机来说,IO操作是非常耗时的,应为CPU跟外设之间的速度极度不匹配,相对CPU原创 2017-03-08 15:14:03 · 444 阅读 · 0 评论 -
tomcat与JVM性能调优
tomcat的性能调优是实际生产中很重要的一部分,虽然我们平时在调试时只要能跑起来就行,但是实际部署之后,当访问的用户量一增加,就涉及到tomcat的最大并发量等问题。那么如何设置tomcat以及JVM,使我们的web应用的并发量增加呢?一、tomcat内存优化(Windows 下的catalina.bat;Linux 下的catalina.sh)先来了解一下一些跟JVM底层相关的一原创 2018-01-27 22:00:45 · 584 阅读 · 0 评论