自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(122)
  • 收藏
  • 关注

原创 python|python基本操作记录

python基本操作记录python 导入csv文件对 df 进行换列pandas 相关数据操作python List的使用帮别人做一个数据预处理,学了一些基本操作。这里记录下来。python 导入csv文件import pandas as pddf = pd.read_csv('train.csv', encoding='utf-8')这样把csv文件导入进来是DataFrame格式...

2019-10-31 10:44:27 437

原创 Linux学习|9.24 不可中断进程&僵尸进程

通过top命令查看进程状态,其中S列表示进程状态。不可中断进程S列的取值D是Disk Sleep的缩写,即不可中断状态睡眠,一般表示进程正在跟硬件交互,并且交互过程不允许被其他进程或中断打断。不可中断状态时为了保证进程数据与硬件状态一致,并且正常情况下,不可中断状态在很短时间内就会结束。所以短时的不可中断状态进程可以忽略。但是,当进程长时间都处于不可中断状态时,系统可能出现问题了。可以使用...

2019-09-24 17:55:47 479

原创 Java|BIO、NIO、AIO

在很多面经里都有这样的问题:说说BIO、NIO、AIO说说Linux的IO模型说说select、poll、epoll最开始对这些名词一点都摸不着头脑,粗略了解了BIO、NIO、AIO是什么,其中涉及到“同步/异步、阻塞/非阻塞"这些名词,更是被搞的云里雾里。BIO是在学习JavaSE的时候,网络编程讲的内容,大概知道是怎么回事,但从来没有思考过它有什么问题。对于select、poll、...

2019-08-25 19:49:57 450

原创 刷题|和链表相关的题目思路分析与总结

刷题|和链表相关的题目思路分析与总结1 数据结构1.1 单链表1.2 循环链表1.3 双向链表1.4 链表和数组对比1 数据结构1.1 单链表链表通过指针将一组零散的内存块串联在一起。把内存块称为链表的“结点”。为了将所有的结点串联起来,每个链表的结点除了存储数据之外,还需要记录链上的下一个结点地址。把这个记录下个结点地址的指针叫做后继指针next。看了上面的描述最基本的单链表的...

2019-08-03 12:50:06 615 1

原创 Redis|事件

Redis|事件1 文件事件1.1 文件事件处理器构成1.2 I/O多路复用程序的实现1.3 事件的类型1.4 API1.5 文件事件的处理器2 时间事件Redis服务器是一个事件驱动程序,服务器需要处理以下两类事件:-文件事件:Redis服务器通过套接字与客户端(或者其他Redis服务器)进行连接,而文件事件就是服务器对套接字操作的抽象。服务器与客户端(或者其他服务器)的通信会产生相应的文件...

2019-08-02 23:39:24 204

原创 Linux的五种IO模型

下面这篇文章用浅显易懂的方式阐述了Linux的五种IO模型:https://mp.weixin.qq.com/s?__biz=Mzg3MjA4MTExMw==&mid=2247484746&idx=1&sn=c0a7f9129d780786cabfcac0a8aa6bb7&source=41#wechat_redirect但不够深入,有待继续了解。...

2019-08-02 15:08:20 186

原创 Java|Java中int的取值范围是多少

Java 中 int 的取值范围是:-2^31 ~ 2^31-1大致想一下,int 占 4字节,也就是 32 位,int 是有符号的,最高位为符号位。所以剩下31个位置。那么我们大胆猜测一下,最大正数应该就是2^31-1。举个栗子~如果是3bit的,其中最高位为符号位,看看它的范围是怎样?000001010011 最大为 3 = 2^(3-1)-1 和上面的式子是符合的1001...

2019-07-31 17:28:21 7937 1

原创 图解HTTP系列笔记

通常使用的网络(包括互联网)是在 TCP/IP 协议族的基础上运作的。而 HTTP 属于它内部的一个子集。TCP/IP 的分层管理TCP/IP 协议族里重要的一点就是分层。TCP/IP 协议族按层次分别分为以下 4 层:应用层、传输层、网络层和数据链路层。把 TCP/IP 层次化是有好处的:如果互联网只由一个协议统筹,某个地方需要改变设计时,就必须把所有部分整体替换掉。而分层之后只需把变...

2019-07-25 17:44:57 208

原创 Java|从Integer和int的区别认识包装类

Java|Integer和int概述极客时间的课程中,看到一篇讲Integer和int的区别,其中提到了一些没有想过的设计思路(比如Integer的值缓存),扩展了一些知识。文章不是很详细,编排有点混乱,并且很多地方只是提到了,但没有展开来说,导致我读来觉得好像很棒,但实际还是不知其所以然。所以本文根据该课程,整理课程中提到的关键概念,有这样几个疑问待本文解决:Integer和int的区别,...

2019-07-24 08:38:27 8106 2

原创 JVM类加载机制

在Java代码中,类型的加载、连接与初始化过程都是在程序运行期间完成的。类型的加载:最常见的情景就是,将已经编译好的class文件从磁盘上加载到内存里。连接:将类与类的关系确立好,并且完成字节码相关的处理。字节码文件是可能被修改的。初始化:对类型里的静态变态赋初始值。虚拟机把描述类的数据从class文件加载到内存,并对数据进行校验、转换解析和初始化,最终形成可以被虚拟机直接使用的Jav...

2019-07-22 10:31:28 169

原创 和树相关的题目思路分析与总结

和树相关的术语:高度深度层和树相关的基本算法:遍历计算高度计算深度DFSBFS树的遍历:前序遍历中序遍历后序遍历层次遍历树中基本的解题方法:递归套用遍历的思路迭代的方法一般需要用队列或栈遍历...

2019-07-19 10:18:05 162

原创 数组的特性、基本操作和应用场景

数组数组(Array)是一种线性表数据结构。它用一组连续的内存,来存储一组具有相同类型的数据。线性表连续内存空间相同类型线性表形象地来看,线性表就是数据排成像一条线一样的结构,并且最多只有前和后两个方向。数组、链表队列、栈等都是线性表结构。与其对立的概念是非线性表,如二叉树、堆、图等。在非线性表中,数据之间并不是简单的前后关系。连续的内存空间和相同类型的数据因为这两个限制,...

2019-07-19 09:26:12 2834

原创 高性能的索引策略

独立的列如果查询中的列不是独立的,则MySQL就不会使用索引。“独立的列”是指:索引列不能是表达式的一部分;也不能是函数的参数。例如,对下面查询无法使用actor_id列的索引:mysql> SELECT actor_id FROM sakila.actor WHERE actor_id + 1 = 5;上面WHERE条件其实可以简化成actor_id = 4。要养成简化W...

2019-07-18 17:03:04 191

原创 对Java平台的理解

从几个问题引入:“一次编写,到处运行”Java是解释执行的吗?自动垃圾收集Java语言跨平台的含义以及实现原理“Write once, run anywhere”是Java的一句被广为人知的宣传语。但很多人其实会把这句话记错,不知道怎么回事就记成了“一次编译,到处运行”。以为编译好后,放到不同平台上都能运行,当然不是这样!前几天学C++的舍友和我讨论两种语言的区别,提到Java跨平台...

2019-07-17 11:13:50 128

原创 MYSQL中的索引

MYSQL中的索引引论索引的类型B-Tree索引哈希索引索引的优点的适用场合内容整理自《高性能MySQL》引论索引是什么?索引是存储用于快速找到记录的一种数据结构。索引的作用?索引对良好的性能非常关键。尤其是当表中的数据量越来越大时,索引对性能的影响愈发重要。索引优化是对查询优化最有效的手段。索引能轻易将查询性能提高几个数量级。在MySQL中索引如何使用?在MySQL中存储引擎先...

2019-07-16 19:55:56 141

原创 G1垃圾回收器

之前看《深入理解JVM》花了大篇幅讲了一些以往的垃圾回收器,书里面G1虽然也花了比较大的篇幅讲,但总感觉不是很清楚,而且作者写那本书的时候,G1的成熟版本貌似才发布不久,所以是个很新的东西信息不多。看《Java疯狂讲义》写到,2017年9月发布的Java 9已经彻底删除了传统的CMS垃圾收集,运行JVM的DefNew+CMS、ParNew+SerialOld、Incremental CMS等组合...

2019-07-16 14:49:19 156

原创 Java文件的命名,Java主类,Java中的public类

编译和运行 Java 程序HelloWorld.java 文件:// HelloWorld.javapublic class HelloWorld{ public static void main(String[] args){ System.out.println("Hello World!"); }}运行该命令后会生成一个 HelloWorld.class 文件:jav...

2019-07-16 11:37:07 14803

原创 Redis|Redis持久化:RDB持久化和AOF持久化

Redis持久化之RDB持久化总览RDB文件的创建与载入自动间隔性保存RDB文件RDB文件结构分析RDB文件总结看CyC2018的Redis部分时候,不明白两种持久化是什么怎么做的。今天看到了《Redis设计与实现》,直接先从持久化看。总览什么是持久化?Redis是一个内存型数据库,其数据库状态储存在内存中,一旦服务器进程退出,服务器中的数据库状态也会消失。所以我们需要把储存在内存中的数...

2019-07-15 21:22:39 322

原创 JavaSE|System.out.println()输出原理

Mark:https://www.cnblogs.com/skywang12345/p/io_17.html

2019-07-11 18:51:55 927

原创 JVM内存分配与回收策略

内存分配与回收策略内存管理的分代机制对象的内存分配对象优先在Eden分配大对象直接进入老年代长期存活的对象将进入老年代动态对象年龄判断空间分配担保Java技术体系中所提倡的自动内存管理最终可以归结为自动化地解决了两个问题:给对象分配内存回收分配给对象的内存内存管理的分代机制JVM采用分代垃圾回收。在JVM的内存空间中把堆空间分为年老代和年轻代。将大量(据说90%以上)创建没多久...

2019-07-11 16:47:07 161

原创 JavaSE|hashCode()方法和equals()方法

每种数据类型都需要相应的散列函数,于是Java令所有数据类型都继承了一个能够返回一个32bit整数的hashCode()方法。默认的散列函数会返回一个和对象内存地址相关的值,但这只适用于很少的情况。Java 为很多常用的数据类型重写了hashCode()方法,包括String、Integer、Double、File和URL。

2019-07-10 22:44:15 166

原创 MySQL存储引擎

MEMORYMEMORY存储引擎使用存在于内存中的内容来创建表。每个MEMORY表只实际对应一个磁盘文件,格式是.frm。MEMORY类型的表访问非常的快,因为他的数据是放在内存中的,并且默认使用HASH索引。但是一旦服务关闭,表中的数据就会丢失掉。MEMORY类型的存储引擎主要用于那些内容变化不频繁的代码表,或者作为统计操作的中间结果表,便于高效地对中间结果进行分析并得到最终的统计结...

2019-06-27 15:55:36 110

原创 Java|HashMap源码解读

HashMap 和 Hashtable 区别:Hashtable 是一个线程安全的 Map 实现,HashMap 是线程不安全的实现,HashMap 比 Hashtable 性能高Hashtable 不允许使用 null 作为 key 和 value,如果试图把 null 值放进 Hashtable 中,将会引发 NullPointerException 异常;但 HashMap 可以使用 ...

2019-06-17 15:13:05 566

原创 Java|基本数据类型

7种基本数据类型:整型、浮点型、布尔型、字符型Java中有8种基本数据类型 分为三大类。字符型: char布尔型: boolean数值型: 1.整型: byte、short、int、long 2.浮点型: float、double在Java中,整形默认是 int 类型;浮点型默认是 double 类型,如果使用 float 类型,需要显示的加 " f "。String不是基本数据类...

2019-05-30 21:07:59 206

原创 Java初始化顺序(静态变量、静态初始化块、实例变量、实例初始化块、构造方法)

参考如下文章即可解决:https://www.cnblogs.com/z-sm/p/6973993.html

2019-05-30 10:06:29 342

原创 Java|封装、继承、多态

什么是多态、方法重写与重载Java的继承与实现构造函数与默认构造函数类变量、成员变量和局部变量成员变量和方法作用域【参考文献】多态(类实现、接口实现):https://www.cnblogs.com/chenssy/p/3372798.html继承存在的问题(包含可以重写何种修饰的方法):《Effective Java》16继承(包含构造函数说明):https://www.cnbl...

2019-05-29 11:16:50 191

原创 Java|Java中是值传递还是引用传递

参考两篇博文,可以对这个问题有一个比较清晰的认识:https://www.cnblogs.com/SAM-CJM/p/9448905.htmlhttps://www.cnblogs.com/wchxj/p/8729503.html

2019-05-29 09:38:22 104

原创 剑指offer|丑数

【题目描述】把只包含质因子2、3和5的数称作丑数(Ugly Number)。例如6、8都是丑数,但14不是,因为它包含质因子7。 习惯上我们把1当做是第一个丑数。求按从小到大的顺序的第N个丑数。时间限制:1秒 空间限制:32768K 热度指数:265042本题知识点: 数组【思路分析】法一:暴力求解法了解并书写判断一个数是不是丑数的规则;从1开始,依次判断是否为丑数,是则丑数计数器...

2019-05-24 11:46:53 113

原创 剑指offer|把数组排成最小的数

【题目描述】输入一个正整数数组,把数组里所有数字拼接起来排成一个数,打印能拼接出的所有数字中最小的一个。例如输入数组{3,32,321},则打印出这三个数字能排成的最小数字为321323。时间限制:1秒 空间限制:32768K 热度指数:237731本题知识点: 数组【解题思路】需要的考虑的两个问题:带比较器的排序 - 自定义比较规则隐含的大数问题 - 将int数组转为字符串i...

2019-05-23 11:37:42 77

原创 剑指offer|整数中1出现的次数(从1到n整数中1出现的次数)

【题目描述】求出1-13的整数中1出现的次数,并算出100-1300的整数中1出现的次数?为此他特别数了一下1~13中包含1的数字有1、10、11、12、13因此共出现6次,但是对于后面问题他就没辙了。ACMer希望你们帮帮他,并把问题更加普遍化,可以很快的求出任意非负整数区间中1出现的次数(从1 到 n 中1出现的次数)。时间限制:1秒 空间限制:32768K 热度指数:178594【解题...

2019-05-23 11:30:08 134

原创 Servlet的生命周期

Servlet运行在Servlet容器中,其生命周期由容器来管理。Servlet 生命周期定义了一个Servlet如何被加载、初始化,以及它怎样接收请求、响应请求,提供服务。Servlet的生命周期通过javax.servlet.Servlet接口中的 init()、service()和destroy()方法 来表示。Servlet 工作过程Web服务器在与客户端交互时Servlet的工作过...

2019-05-16 11:00:41 156

原创 剑指offer|字符串的排列

【题目描述】输入一个字符串,按字典序打印出该字符串中字符的所有排列。例如输入字符串abc,则打印出由字符a,b,c所能排列出来的所有字符串abc,acb,bac,bca,cab和cba。输入描述:输入一个字符串,长度不超过9(可能有字符重复),字符只包括大小写字母。时间限制:1秒 空间限制:32768K 热度指数:378352本题知识点: 字符串【解题思路】把字符串分为两部分:一部分...

2019-05-15 20:12:00 8106

原创 剑指offer|二叉树中和为某一值的路径

【题目描述】输入一颗二叉树的跟节点和一个整数,打印出二叉树中结点值的和为输入整数的所有路径。路径定义为从树的根结点开始往下一直到叶结点所经过的结点形成一条路径。(注意: 在返回值的list中,数组长度大的数组靠前)时间限制:1秒 空间限制:32768K 热度指数:343027【解题思路】运用前序遍历递归解决。结合路径的概念:到达叶结点时判断target和current是否相等,相等则...

2019-04-29 15:47:49 88

原创 Spring|Spring事务管理

Spring|Spring整合JDBC与事务管理1 事务1.1 事务(Transaction)的四个属性(ACID)1.2 事务并发问题1.3 事务的隔离级别2 Spring 中的事务操作2.1 事务的传播行为1 事务事务(Transaction): 事务是并发控制的单元,是访问数据库的一个操作序列,数据库应用系统通过事务集来完成对数据库的存取。事务的正确执行使得数据库从一种状态转换为另一种状...

2019-04-27 20:24:55 201

原创 剑指offer|栈的压入、弹出序列

【题目描述】输入两个整数序列,第一个序列表示栈的压入顺序,请判断第二个序列是否可能为该栈的弹出顺序。假设压入栈的所有数字均不相等。例如序列1,2,3,4,5是某栈的压入顺序,序列4,5,3,2,1是该压栈序列对应的一个弹出序列,但4,3,5,1,2就不可能是该压栈序列的弹出序列。(注意:这两个序列的长度是相等的)时间限制:1秒 空间限制:32768K 热度指数:319003本题知识点: 栈...

2019-04-24 15:32:02 140

原创 Spring|Spring AOP思想与配置

相关概念AOP面向切面编程思想:横向重复代码,纵向抽取。过滤器,拦截器,动态代理都能体现AOP。动态代理:通过动态代理可以体现AOP思想。动态代理是对某一个目标对象中的方法进行增强。Spring AOP 原理:Spring封装了动态代理(只能对接口)代码。我们就不需要手写动态代理代码。动态代理:被代理对象必须要实现接口,才能产生代理对象.如果没有接口将不能使用动态代理技术。...

2019-04-23 15:56:14 185

原创 剑指offer|树的子结构

【题目描述】输入两棵二叉树A,B,判断B是不是A的子结构。(ps:我们约定空树不是任意一个树的子结构)时间限制:1秒 空间限制:32768K 热度指数:432114【解题思路】第一步,在树A中找到和树B的根结点的值一样的结点R;第二步,判断树A中以从R为根结点的子树中是不是包含和树B一样的结构。8 8/ \ ...

2019-04-22 19:17:32 100

原创 剑指offer|合并两个排序的链表

【题目描述】输入两个单调递增的链表,输出两个链表合成后的链表,当然我们需要合成后的链表满足单调不减规则。时间限制:1秒 空间限制:32768K 热度指数:446096本题知识点: 链表【解题思路】递归版本:递归调用Merge()通过next连接就可以了;非递归版本:注意处理头结点(定义两个结点,初始时两者都指向第一个结点处,last结点进行next操作构造链表,head结点在指向第一个...

2019-04-22 17:04:52 199

原创 Spring|Spring概述

Spring|Spring概述Spring 介绍Spring 概念Spring 思想:IoC 和 DIBeanFactory 接口 & ApplicationContext 接口Spring 配置详解Bean 元素Spring 创建对象的方式Spring 的分模块配置Spring 属性注入Spring 介绍Spring 是一个分层的JavaSE/EE full-stack (一站式)轻...

2019-04-19 15:50:53 2001 1

原创 JavaSE|Java Collections API

笔记内容来自《数据结构与算法分析 Java语言描述》第三版JavaSE|Java Collections APICollection 接口在类库中,Java 语言包括一些普通的数据结构的实现。这一部分叫做 Collections API。Collections API 位于 java.util 包中。Collection 接口集合的概念在 Collection 接口中得到抽象,它存储一组类...

2019-04-17 22:24:44 167

空空如也

空空如也

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

TA关注的人

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