自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(89)
  • 问答 (1)
  • 收藏
  • 关注

原创 职场沟通交流培训

消除随机不确定性,是否完成目的。

2024-03-20 10:12:58 146

转载 servletConfig与servletContext

一、区别1、定义 1)ServletConfig:Servlet的配置对象,容器在初始化Servlet时通过它传递信息给Servlet。 2)ServletContext:上下文对象,提供了一系列方法供Servlet与Web容器交互。2、创建时机 1)ServletConfig:在容器初始化Servlet的时候,并为其提供上下文初始化参数的名/值对的引用。 2)ServletContext:容器启动的时候,并为其提供Servlet初始化参数的名/值...

2021-03-20 11:40:27 168

原创 深度剖析C/C++中数组名与指针的详细区别

在很多教材中甚至大学老师上课时都直接说数组名是一个指针。然而这种说法不是非常的严谨,因为数组名与指针有很明显的量大差别。在《C Primer Plus》中也只是说了数组名只是相当于一个const修饰的指针,除此之外并没有任何其他详解。所以下文将会详细讲解这两者的差别。一、数组名的运算与指针并不是完全相同。这是最明显的例子,指针支持自增、自减运算,但是数组名并不支持自增、自减运算。其实这么做...

2019-11-21 17:01:05 422

原创 《OSTEP》读书笔记 虚拟化(3)调度算法

当进入中断处理程序后(比如完成I/O操作),内核就要决定切换到哪一个进程继续运行。然而怎样决定运行哪一个进程就需要调度器使用调度算法来决定了。调度算法并不是产生于计算机科学中,而是产生于操作管理中并借鉴应用到计算机中。不同的调度算法有不同的度量方法。这里首先通过周转时间(turnaround time)和响应时间(response time)来考虑算法。在这里我们首先对任务(就是进程,通常称为...

2019-09-13 22:42:25 972

原创 JVM类加载机制

JVM的类加载分为三个部分:加载、连接(验证、准备、解析)、初始化。类的加载是线程安全的!加载:加载分为三个步骤:1、根据类的全限定类名将该类以二进制流的方式读入。可以重写ClassLoader的loadClass()方法来改写获取二进制流的方式。2、在方法区中生成该类的结构。3、生成Class对象作为访问方法区中类结构的入口。注意在hotspot中Class对象存放在方法区中...

2019-09-13 16:34:26 187

原创 JVM常用垃圾收集器总结

一、新生代收集器Serial收集器(单线程+复制算法)Serial收集器为单线程收集器,当其GC线程执行清理工作时,用户线程必须全部停止。由于桌面应用一般分配给JVM的内存不是很大,停顿时间一般在几十毫秒不会给用户造成太大影响,因此可以用于用户(Client)模式的虚拟机下。ParNew收集器(多线程+复制算法)ParNew(Parallel New)收集器与Serial收集器...

2019-09-13 16:02:36 307

原创 第二、三范式与BC范式的区别

在正式开始之前,先来明确以下几个概念:1、码:能唯一确定一条记录的一个/多个属性。码包括主码和候选码。任意一个候选码也能作为主键。其中主码/候选码的任意一个真子集都不能确定一条记录。2、主属性:构成主码或候选码的属性都叫主属性!千万不要误认为候选码的属性不是主属性!3、非主属性:除了主属性以外的属性都为非主属性。4、传递依赖:如果存在A → B → C的决定关系,则C传递函数依赖于...

2019-06-15 21:45:33 12622 1

原创 EL表达式整理

一、EL作用范围EL从以下四个作用域中取值,其他的数据一概不理会:1、pageContext2、request3、session4、application这四个作用域范围按编号依次增大,EL的取值顺序也遵循这个顺序:先从pageContext搜索,若有则返回,没有继续从request寻找,依次类推。二、EL的语法1)使用getParameter()获取的值 (...

2019-06-07 22:19:29 162

原创 C语言多维数组与指针的关系

此篇博客分为三个主题:一、一维数组与指针二、二维数组与指针三、高维数组与指针指针与数组密切相关,深刻理解二者关系不仅可以更加灵活运用数组,更可帮助深入理解指针。一、一维数组与指针我们首先来定义一个一位数组:int arr[5] = {6,5,4,3,2,1};在正式开始之前,先来明确两个定义:1、首地址:数组首元素地址。也就是说,一维数组的为一个对应数据类型所...

2019-06-05 23:57:32 1538

原创 Java 深入理解泛型的强制转型及自动转型

前言:Java的泛型真是狗屎!一、泛型里的强制转换在阅读 Core Java 和 ArrayList 源码时,一直有一个问题困扰着我:既然泛型都会被擦出成raw type(这里被擦除为Object),那么为什么还会有(T) 或(T[ ])这种强制转换呢?这岂不是闲的没事儿干?public class Test<E> { private Object[] elem;...

2019-06-01 23:49:22 11885 5

原创 JVM 类文件结构

整理自《深入理解Java虚拟机》一、Class文件类文件是由一个.java文件经过编译后形成的.class文件。class文件中包含了虚拟机指令集和符号表以及若干其他辅助信息。class文件交给JVM去运行,JVM再在不同的系统环境中执行代码。可以说这也是Java实现跨平台的重要一步。class文件不光只有Java可以生成,只要是运行在JVM上的语言经过不同的语言编译器编译后都可生成cla...

2019-05-31 20:28:54 163

转载 [转]Java并发 Volatile关键字解析

转自:https://www.cnblogs.com/dolphin0520/p/3920373.htmlvolatile关键字虽然从字面上理解起来比较简单,但是要用好不是一件容易的事情。由于volatile关键字是与Java的内存模型有关的,因此在讲述volatile关键之前,我们先来了解一下与内存模型相关的概念和知识,然后分析了volatile关键字的实现原理,最后给出了几个使用volat...

2019-05-23 23:40:57 84

原创 Java (多)生产者与消费者模式

生产者与消费者模型是Java多线程中的常见经典模型。为此特写一篇博客记录该模式中线程不安全问题的产生以及解决方案。一、单消费者与单生产者模式所谓生产者消费者模式,就是指一个/多个线程生产东西(往资源中赋值等),另一个/多个线程消费资源中的东西(输出资源中的内容等)。下面这个例子为一个线程赋值名字和性别,另一个线程负责输出名字和性别。class Resource{ String n...

2019-05-15 15:24:44 970

原创 Java 反射获取类信息

//部分参考至Core Javapackage reflection;import java.lang.reflect.*;import java.util.Scanner;public class ReflectionTest { public static void printConstructers(Class c1) { Constructor[] ct = c1.ge...

2019-05-06 20:42:56 564

原创 Java 集合体系与List

一、集合体系1)Collection接口在Java类库中,Collection是集合最基本的接口。Collection定义了一系列集合常用操作(获取迭代器、添加、删除、包含、转化数组、判断是否为空、大小)以及default默认方法接口 ( 大部分与流相关( 除removeIf,其用来删除满足符合某个条件的元素 ))。AbstractCollection实现了部分Collection方法。...

2019-04-26 23:40:16 137

原创 容器与Servlet生命周期

1)容器大致功能有如下:一、通信支持无需自己建立监听端口、流、Socket等,容器知道与Web服务器的协议,所以不必担心自己的代码如何与服务器进行通信,交给容器就好二、生命周期管理容器可以自动加载类、实例化和初始化servlet、调用Servlet方法,并是得Servlet被回收三、多线程支持容器会自动给接收到的每一个Servlet创建一个线程并管理这些线程四、声明方式实现安全利用...

2019-04-24 19:41:49 174

原创 HTTP协议

**一、Http协议:**Web客户端和服务器之间的绝大数会话都是使用Http协议完成。客户端向服务器发送一个Http请求(request),服务器得到请求后会返回给客户端一个Http响应(response)。Http是TCP/IP的上层协议,这里是对网络协议的简单解释: 1、TCP协议确保从一个网络节点向另一个网络节点发送的文件能作为一个完整的文件送达(传送过程中可能会分成小块)。...

2019-04-24 18:01:18 163

原创 PAT甲级1010 Radix

最开始想直接暴力,后来看网上题解说可以二分。二分思路就是先将n1转化为10进制,二分搜索枚举n2的进制(low为n2的进制,hi为n1的10进制加1),将n2按照枚举的进制转换为10进制然后与n1的十进制进行比较。注意这里的二分是搜索最小的结果,因此第一次相等后仍然要向前面区间搜索看是否有更小的解。坑点:1、long long也可能会溢出,需要判断溢出2、每一步二分的结果需要判断是...

2019-04-24 14:50:41 117

原创 JAVA IO(7)管道流

普通输入输出流必须通过变量或者数组中转。而管道输入输出流可以直接关联。管道流要结合多线程使用。因为read()会阻塞,如果输入输出流在同一个线程,read()没有数据一直等待,造成死锁。管道输入流提供要写入管道输出流的所有数据字节。import java.io.IOException;import java.io.PipedInputStream;import java.io.Piped...

2019-02-08 17:15:29 132

原创 JAVA IO(6)Serialiazable

import java.io.Serializable;public class Main{ /* * Serialiazable:用于给被序列化的类加ID号 * 用于判断类和对象是否是同一个版本 * 默认的ID号是根据类中各个属性签名算出的。自定义序列号后即使改动权限关键字也可以反序列化。 * * * tra...

2019-02-08 17:13:22 304

原创 JAVA IO(5)使用序列流进行文件切割和合并

import java.io.*;import java.util.*;public class Main{ /* 文件切割 */ private static final int SIZE = 1024*1024; public static void splitFile(File file) throws IOException { ...

2019-02-08 16:41:31 190

原创 JAVA IO(4)PrintWriter/PrintReader

PrintStream、PrintWriter:1、他们提供了打印方法可以对多种数据类型只进行打印,并保持数据的表示形式2、他们不抛IOException3、他们也是装饰类   PrintStream:构造函数,接收三种类型的值:1、字符串路径2、File对象3、字节输出流import java.io.*;public class Main{ ...

2019-02-08 16:26:47 1466

原创 JAVA IO(3)流转换

流的操作规律:想要知道开发时用到哪些对象,通过四点1、明确源和目的地            源:InputStream、Reader            目的:OutputStream、Writer2、明确数据是否是纯文本数据            源:是:Reader 否:InputStream            目的: 是:Writer 否:OutputStr...

2019-02-08 16:14:22 96

原创 JAVA 内部类

部分内容参考Core Java为什么要使用内部类:1、内部类方法可以访问外围类作用域中的数据,包括private类型数据。2、内部类可以对同一个包中的其他类隐藏起来。3、当想要定义一一个回调函数且不想编写大量代码时,使用匿名内部类比较便捷(Java8以后可以使用lamba表达式)一、成员内部类 //OuterClass public class Talkin...

2019-01-25 15:29:16 231

原创 JAVA IO(2)BufferedReader与BufferedWriter与装饰者设计模式

BufferedReader和BufferedWriter各自带了数组缓冲,但读取方式仍然是使用的FileReader的read()方法。有很多人说带缓冲会减少IO次数,但从读取方式IO次数并不会减少,只是会减少IO频率。缓冲去大小为8k,当调用BufferedReader的read()方法时会从缓冲区中挨个读取一个字符。BufferedReader还带了一个readLine()方法,可以每次读取...

2019-01-22 19:03:54 2254

原创 JAVA IO(1) Reader与Writer

流操作分为两种 :1、字节流                              2、字符流:字节流读取文字字节数据后,不直接操作而是先查找指定的编码表,获取对应的文字,                                  再对这个文字进行操作。简单说:字节流+编码表。输入流(读):把外设数据加载进内存。输出流(写):把内存数据写入到外设中。 IO常用基...

2019-01-19 19:54:15 120

原创 1155 Heap Paths (30 分)( BST+栈 )

In computer science, a heap is a specialized tree-based data structure that satisfies the heap property: if P is a parent node of C, then the key (the value) of P is either greater than or equal to (i...

2019-01-19 18:02:58 171

转载 MySQL 内连接、外连接、左连接、右连接、全连接

转自:https://blog.csdn.net/plg17/article/details/78758593用两个表(a_table、b_table),关联字段a_table.a_id和b_table.b_id来演示一下MySQL的内连接、外连接( 左(外)连接、右(外)连接、全(外)连接)。MySQL版本:Server version: 5.6.31 MySQL Community S...

2018-12-02 17:56:03 488

原创 group by与order by之间的操作

首先,group by是对表中数据进行分组,order by是对分组之后的结果进行查询。group by与之过滤使用的是having字句,两者配套处理组。而where过滤的是记录(行)。select cust_id,count(*) as orders from orders group by cust_id having count(*) &gt;= 2; group...

2018-12-01 23:38:05 2770

转载 主键和外建

一、什么是主键、外键:关系型数据库中的一条记录中有若干个属性,若其中某一个属性组(注意是组)能唯一标识一条记录,该属性组就可以成为一个主键 比如  学生表(学号,姓名,性别,班级) 其中每个学生的学号是唯一的,学号就是一个主键 课程表(课程编号,课程名,学分) 其中课程编号是唯一的,课程编号就是一个主键 成绩表(学号,课程号,成绩) 成绩表中单一一个属性无法唯一标识一条记录,学号...

2018-11-27 16:43:32 567

转载 MySql设计、使用、命名规范

http://www.biaodianfu.com/mysql-best-practices.html最近在看MySQL相关的内容,整理如下规范,作为一名刚刚学习MySQL的菜鸟,整理的内容非常的基础,中间可能涉及到有错误的地方,欢迎批评指正,看到有错误的地方期望看官留言。数据库环境dev:开发环境,开发可读写,可修改表结构。开发人员可以修改表结构,可以随意修改其中的数据但是需要保证不...

2018-11-27 12:16:07 384

原创 JAVA 集合List迭代器及其子类

List中除了vector(1.0版本出现,后并入集合)全是非同步:效率高Vector:底层数组,也自动增长缩短(100%延长),同步的(线程安全,效率低)。所以几乎不用,增删查都很慢,垃圾。ArrayList:底层数组,50%延长,不同步(线程不安全,但效率高),查询快。LinkedList:底层链表,不同步,增删很快,也有角标(Link集合的特点)。为什么数组查询比链表快?Ar...

2018-11-26 11:02:28 256

转载 JAVA 参数传递

https://www.cnblogs.com/hpyg/p/8005599.htmljava参数传递(到底是值传递还是引用传递?)结论:Java中都是按值传递!1、基本类型作为参数传递时,是传递值的拷贝,无论你怎么改变这个拷贝,原值是不会改变的2、对象作为参数传递时,是把对象在内存中的地址拷贝了一份传给了参数。Java中的参数传递机制一直以来大家都争论不休,究竟是“传值”还是...

2018-11-24 15:31:37 128

转载 JAVA Comparable与Comparator小结

https://www.cnblogs.com/xujian2014/p/5215082.html#4070338一、Comparable简介  Comparable是排序接口。若一个类实现了Comparable接口,就意味着该类支持排序。实现了Comparable接口的类的对象的列表或数组可以通过Collections.sort或Arrays.sort进行自动排序。  此外,实现此接...

2018-11-23 22:08:38 87

原创 正则表达式对字符串的常见操作

正则表达式对字符串的常见操作:具体操作见API文档,只有基础Demo。1、匹配( matches )public static void main(String[] args) { String tel = "15800001111"; /*{4}写成{4,4}也可以,{4, }代表出现次数 &gt;=4*/ String regex = "158[0]{4}[1]{...

2018-11-23 16:27:29 693

原创 JAVA 异常

异常:在java中用类的形式对不正常情况进行了描述和封装,将正常流程代码和问题处理代码进行分离,提高阅读行。 问题很多,意味着描述的类很多,将其共性进行向上抽取,形成了异常体系。不正常情况分成了两大类:Throwable:|——1、不可处理的:Error。        特点:比如运行文件不存在,内存溢出,这是错误不是异常。由JVM抛出的严重性问题,一般不处理,直接修改程序...

2018-11-02 19:22:29 108

原创 JAVA 继承与重写

继承时候,每个子类都有一份父类变量的拷贝,但是如果修改当前子类中从父类继承的成员变量的话,该子类中父类中的变量也随着子类的变化而变化。一个子类修改并不影响另一个子类中父类成员变量的值,因为每个子类都有自己的拷贝:public class Test2 { public int num=0; void print() { System.out.println("T...

2018-11-02 14:53:58 269

原创 BST及其各种操作(C实现)

#include &lt;stdio.h&gt;#include &lt;stdlib.h&gt;typedef int ElementType;typedef struct Node{ ElementType data; struct Node* left; struct Node* right;}BinNode,*BinTree;/************...

2018-10-24 19:22:13 769

原创 JAVA 多态(运行时多态和编译时多态)及其内存图解

定义:某一类事物的多种存在方式(一个对象,两种形态)对象的多态:父类或者接口的引用指向其子类的对象多态的好处:提高了代码的扩展性,前期定义的代码可以使用后期的内容多态弊端: 前期定义的内容不能使用(调用)后期子类的特有方法(就是多态调用的只能是父类)。但如果是继承子类覆盖了父类方法,多态调用的仍是子类的方法!多态前提:1、必须有关系(继承、实现)2、要有覆盖多态实际...

2018-10-21 19:01:37 14491 4

原创 JAVA static关键字

比如创建一个中国人的程序,则每个对象的国籍属性都为China。如果每个对象都存一份,会浪费空间。因此需要用static关键字将此变量设置为类变量(相当于默认/公有属性),该数据被该类的对象所共享。(比如学校的饮水机(static),在没来学校之前他便已经存在。而教室里的人需要用自己的杯子(非static)来接水才可以喝。饮水机随着教室(相当于类)的消失而消失,而杯子随着每个同学(相当于对象)的消失...

2018-10-17 12:25:42 90

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除