自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

Java学习

静下心来学习...

  • 博客(77)
  • 资源 (8)
  • 收藏
  • 关注

原创 【搞定 Linux】之 Linux 面试题整理

博主秋招提前批已拿百度、字节跳动、拼多多、顺丰等公司的offer,可加微信:pcwl_Java 一起交流秋招面试经验,可获得博主的秋招简历和复习笔记。 Linux 下线程,GDI 类的解释 Linux 实现的就是基于核心轻量级进程的"一对一"线程模型,一个线程实体对应一个核心轻量级进程,而线程之间的管理在核外函数库中实现。GDI 类为图像设备编程接口类库。 绝对路径用什...

2019-01-31 17:33:30 700

原创 【搞定Redis】之 Redis 面试题整理

博主秋招提前批已拿百度、字节跳动、拼多多、顺丰等公司的offer,可加微信:pcwl_Java 一起交流秋招面试经验,可获得博主的秋招简历和复习笔记。redis单线程问题单线程指的是网络请求模块使用了一个线程(所以不需考虑并发安全性),即一个线程处理所有网络请求,其他模块仍用了多个线程。为什么说redis能够快速执行?绝大部分请求是纯粹的内存操作(非常快速);采用单线程,避...

2019-01-09 15:30:54 609

转载 【数据结构与算法】之字符串匹配算法之 BF、RK、BM --- 第十八篇

本文为极客时间《数据结构与算法之美》专栏的学习笔记。本文目录:1、BF 算法2、RK 算法3、BM 算法3.1  BM 算法的核心思想 3.2  BM 算法原理分析3.2.1  坏字符规则 3.2.2  好后缀规则3.2.4  BM 算法代码实现3.2.5  BM 算法的性能分析及优化4、总结本文主要讲述字符串匹配常用的几种算法,它们分别是:BF 算...

2019-01-28 22:57:22 924

转载 【数据结构与算法】之深度和广度优先搜索 --- 第十七篇

上一篇:图的基本概念:https://blog.csdn.net/pcwl1206/article/details/84751541本文为极客时间《数据结构与算法之美》专栏的学习笔记:原文链接(点击)本文目录:1、什么是“搜索”算法 2、广度优先搜索(BFS)3、深度优先搜索(DFS)4、总结在上一节中,讲述了图的表示方法,讲到如何用有向图、无向图来表示一个社交网络。在...

2019-01-28 09:32:25 234

原创 【搞定操作系统】---《操作系统精髓与设计原理》读书笔记:第 4 章:线程、对称多处理(SMP)和微内核

本文目录:一、进程和线程1.1  多线程1.2  线程功能特性二、线程的分类2.1  用户级线程2.2  内核级线程2.3  组合方法三、Windows 线程四、Linux 的进程和线程管理五、总结一、进程和线程 这里所说的进程个概念要比前面给出的更复杂和精细。实际上,它包含两个独立的概念:一个与资源管理权有关(进程),一个与执行相关(线程)。到...

2019-01-24 10:18:36 580

原创 【搞定操作系统】---《操作系统精髓与设计原理》读书笔记:第 3 章:进程描述和控制

本文目录:一、什么是进程1.1  背景1.2  进程和进程控制块二、进程状态2.1  两状态进程模型2.2  进程的创建和终止2.3  五状态模型2.4  被挂起的进程三、进程描述3.1  操作系统的控制结构3.2  进程控制结构四、进程控制4.1  执行模式4.2  进程创建4.3  进程切换五、操作系统的执行5.1  无进程内...

2019-01-24 09:47:00 725 1

原创 【搞定操作系统】---《操作系统精髓与设计原理》读书笔记:第 2 章:操作系统概述

一、 简介,目标和功能操作系统为应用程序提供s与硬件交互的接口。它的主要功能是为运行中的程序动态的分配可共享的系统资源。操作系统是控制应用程序执行的程序,并充当应用程序和计算机硬件之间的接口。目标:方便、有效、扩展能力。1、作为用户/计算机接口操作系统为程序员屏蔽了硬件细节,并为程序员使用系统提供了方便的接口。它可以作为中介,使程序员和应用程序更容易的访问和使用这些功能与服务。...

2019-01-23 10:50:01 406

原创 【搞定MySQL数据库】第9篇:普通索引和唯一索引,应该怎么选择?

本文内容为博主对极客时间《MySQL 实战45讲》的学习笔记:原文链接:https://time.geekbang.org/column/article/70848假设需要维护一个市民系统,每个人都有一个唯一的身份证号,而且业务代码已经保证了不会写入两个重复的身份证号。如果市民系统需要按照身份证号查姓名,就会执行类似这样的SQL语句:select name from CUser wher...

2019-01-22 17:12:42 1138

原创 【搞定操作系统】---《操作系统精髓与设计原理》读书笔记:第 1 章:计算机系统概述

本文转发自:https://blog.csdn.net/qq_21125183/article/details/83791243现代计算机由一个或多个处理器、主存、磁盘、打印机、鼠标、显示器、网络接口以及各种其他输入/输出设备组成。多数计算机有两种运行模式:内核态和用户态。软件中最基本的部分是操作系统,它运行在内核态。操作系统由硬件进行保护,防止用户试图对其进行修改。操作系统和普通...

2019-01-20 22:10:55 678

转载 【搞定Java基础】第15篇:Java 注解(@Annotation)

本文转发自:https://blog.csdn.net/javazejian/article/details/71860633本文目录:1、理解Java注解2、基本语法2.1、声明注解与元注解2.2、注解元素及其数据类型2.3、编译器对默认值的限制2.4、注解不支持继承2.5、快捷方式2.6、Java 内置注解与其它元注解3、注解与反射机制4、运行时注解...

2019-01-20 21:47:01 412

转载 【搞定Java基础】第14篇:Java 枚举类型(Enum)

本文转发自:https://blog.csdn.net/javazejian/article/details/71333103本文目录:1、理解枚举类型1.1、枚举的定义1.2、枚举实现原理1.3、枚举的常见方法2、枚举与 Class 对象3、枚举的进阶用法3.1、向enum类添加方法与自定义构造函数3.2、关于覆盖 enum 类方法3.3、enum 类中定...

2019-01-20 18:54:53 809

转载 【搞定Java基础】第13篇:Java 类型信息(Class对象)与反射机制

本文转载自:https://blog.csdn.net/javazejian/article/details/70768369本文目录:1、深入理解 Class 对象1.1、RRTI 的概念以及 Class 对象作用1.2、Class 对象的加载及其获取方式1.2.1  Class 对象的加载1.2.2  Class.forName 方法1.2.3  Class 字面常...

2019-01-20 12:11:03 289

转载 【搞定Java基础】第12篇:Java 泛型详解

本文转发自:https://blog.csdn.net/justloveyou_/article/details/52420071本文目录:一. 引子 二、泛型基础三. 通配符及泛型的逆变和协变四.编译器如何处理泛型?五. 类型擦除六. 泛型带来的问题及解决方法七. 小结一. 引子一般的类和方法,只能使用具体类型:要么是基本类型,要么是自定义类型。如果要编写...

2019-01-19 19:51:51 577 1

转载 【搞定Java基础】第11篇:Java 中的 static 关键字

本文转发自:http://cmsblogs.com/?p=61一、static 代表着什么在 Java 中并不存在全局变量的概念,但是我们可以通过 static 来实现一个“伪全局”的概念,在 Java 中 static 表示“全局”或者“静态”的意思,用来修饰成员变量和成员方法,当然也可以修饰代码块。Java 把内存分为栈内存和堆内存,其中栈内存用来存放一些基本类型的变量、数组和对象...

2019-01-19 16:24:50 161

转载 【搞定Java基础】第10篇:Java 中的位运算详解

本文转发自:https://blog.csdn.net/javazejian/article/details/51181320一、 相关基础概念在开始 Java 位运算的知识之前,我们先来了解几个基础的概念,机器数,真值,原码,反码,补码。1.机器数我们知道无论是代码还是数值,在计算机中最后都转换成以二进制的形式存在的,而一个数值在计算机中的二进制表示形式,就是这个数的机器数。...

2019-01-19 16:02:25 513

转载 【搞定Java基础】第9篇:Java 中值传递与引用传递的详解

本文转发自:https://blog.csdn.net/javazejian/article/details/51192130Java 的值传递和引用传递在面试中一般都会都被涉及到,今天我们就来聊聊这个问题,首先我们必须认识到这个问题一般是相对函数而言的,也就是 Java 中的方法参数,那么我们先来回顾一下在程序设计语言中有关参数传递给方法(或函数)的两个专业术语:按值调用(call b...

2019-01-19 15:12:38 964 1

转载 【搞定Java基础】第8篇:Java 中的 == 、equals 、hashCode 的区别与联系

本文转发自:Java 中的 ==, equals 与 hashCode 的区别与联系本文目录:一、概述二、关系操作符 ==三、equals 方法四、hashCode 方法五、小结这里再推荐阅读另外一篇文章:重写equal()时为什么也得重写hashCode()之深度解读equal方法与hashCode方法渊源一、概述1、概念1、== : 该操作符生成的是一...

2019-01-19 11:14:50 255

转载 【搞定Java基础】第7篇:抽象类和接口

本文转发自:Java 的抽象特性:抽象类与接口深度解析本文目录:一. 抽象二. 抽象类三. 接口四. 接口与抽象类的区别要点:抽象类 接口 抽象类与接口的区别一. 抽象对于面向对象编程来说,抽象是它的四大特征之一。在 Java 中,可以通过两种形式来体现 OOP 的抽象:接口 和 抽象类。接口和抽象类为我们提供了一种将接口与实现分离的更加结构化的方法。二....

2019-01-18 23:31:38 159

转载 【搞定Java基础】第6篇:final 关键字

本文转发自:http://cmsblogs.com/?p=80本文目录:一、 final 数据二、 final方法三、 final类四、 final参数五、final 与 static在程序设计中,我们有时可能希望某些数据是不能够改变的,这个时候 final 就有用武之地了。final 是 Java 的关键字,它所表示的是“这部分是无法修改的”。不想被改变的原因有两个:...

2019-01-18 23:07:09 246

转载 【搞定Java基础】第5篇:Java 中的四舍五入

本文转发自:http://cmsblogs.com/?p=54四舍五入是我们小学的数学问题,这个问题对于我们程序猿来说就类似于 1 到 10 的加减乘除那么简单了。在讲解之间我们先看如下一个经典的案例:public static void main(String[] args) { System.out.println("12.5的四舍五入值:" + Math.round(12.5))...

2019-01-18 22:51:19 220

原创 【搞定Java基础】第4篇:Java 中的 String 类详解 【解惑篇】

本文转发自:1、https://blog.csdn.net/justloveyou_/article/details/525564272、https://blog.csdn.net/justloveyou_/article/details/60983034本文目录:一、Java 内存模型与常量池二、常量与变量三、String 类的定义与基础四、String 的不可变性...

2019-01-18 22:35:59 470

转载 【搞定Java基础】第3篇:Java 中的常量池:字符串常量池、class 常量池、运行时常量池 【解惑文章】

本文转发自:https://blog.csdn.net/zm13007310400/article/details/77534349这几天在看 Java 虚拟机方面的知识时,看到了有几种不同常量池的说法,然后我就去 CSDN、博客园等上找资料,里面说的内容真是百花齐放,各自争艳,因此,我好好整理了一下,将我自认为对的理解写下来与大家共同探讨:在 Java 的内存分配中,总共 3 种常量池:...

2019-01-18 10:30:13 200

转载 【搞定Java基础】第2篇:Java 的八大基本数据类型

本文转发自:https://blog.csdn.net/u014266877/article/details/543748671. Java的简单类型及其封装器类Java基本类型共有八种,基本类型可以分为三类,字符类型 char,布尔类型 boolean 以及 数值类型 byte、short、int、long、float、double。数值类型又可以分为整数类型 byte、short、...

2019-01-18 10:05:44 301

转载 【搞定Java基础】第1篇:Java 语言的三大特性:封装、继承、多态

目录一、封装二、继承2.1  构造器2.2  protected 关键字2.3  向上转型2.4  谨慎继承三、多态3.1  多态的实现3.2  经典实例。一、封装本文转发自:http://cmsblogs.com/?p=41封装从字面上来理解就是包装的意思,专业点就是信息隐藏,是指利用抽象数据类型将数据和基于数据的操作封装在一起,使其构成一个不可分...

2019-01-17 17:00:14 1221

转载 【搞定Java集合框架】第11篇:Java 集合类总结篇

本文目录:一、List 总结篇 1、List 接口描述2、使用场景3、区别二、Map 总结篇2.1、Map 概述2.2、内部哈希:哈希映射技术2.3  Map 优化三、Set 总结篇四、对集合的选择4.1  对 List 的选择4.2  对 Set 的选择4.3  对 Map 的选择五、Comparable 和 ComparatorCo...

2019-01-17 13:27:50 255

转载 【搞定Java集合框架】第10篇:Java 集合类细节精讲

本文目录:1、请为集合指定初始容量2、asList 的缺陷2.1  避免使用基本数据类型数组转换为列表2.2  asList 产生的列表不可操作3、subList 的缺陷3.1  subList 返回仅仅只是一个视图3.2  subList 生成子列表后,不要视图去操作原列表3.3  推荐使用 subList 处理局部列表4、保持 compareTo 和 equ...

2019-01-17 11:15:03 254

转载 【搞定Java集合框架】第9篇:HashSet、TreeSet、LinkedHashSet

本文转发自:https://blog.csdn.net/a724888/article/details/80295328本文目录:1、HashSet1.1 定义 1.2  方法2、TreeSet2.1  TreeSet 定义2.2  TreeSet 的主要方法2.3  总结3、LinkedHashSet3.1  LinkedHashSet 内部是如何工作的?...

2019-01-16 22:45:00 182

转载 【搞定Java集合框架】第8篇:TreeMap 和红黑树

本文转发自:http://cmsblogs.com/?p=1013本文目录: 1、红黑树简介2、TreeMap 的数据结构3、TreeMap 的 put() 方法3.1  红黑树增加节点3.2  TreeMap 的 put() 方法实现分析4、TreeMap 的 delete() 方法4.1  红黑树删除节点4.2  TreeMap 中 deleteEntry(...

2019-01-16 19:37:19 384

转载 【搞定Java集合框架】第7篇:深入理解 LinkedHashMap 和 LRU 缓存

本文内容大部分来自于:https://blog.csdn.net/a724888/article/details/80290276本文目录:1、LinkedHashMap 概述 2、LinkedHashMap 在 JDK 中的定义2.1  类结构定义2.2  成员变量定义2.3  成员方法定义2.4  基本元素 Entry2.5  LinkedHashMap 的构造...

2019-01-16 16:18:32 211

转载 【搞定Java集合框架】第6篇:HashTable 的详解

本文主要内容来自于:http://cmsblogs.com/?p=618本文目录:1、定义2、构造方法3、主要方法3.1  put 方法3.2  get 方法4、HashTable 与 HashMap 的区别在 Java 中与有两个类都提供了一个多种用途的 hashTable 机制,它们都可以将 key 和 value 结合起来构成键值对,通过put(key, va...

2019-01-16 11:11:17 751

转载 【搞定Java集合框架】第5篇:HashMap JDK1.7 && JDK 1.8 【面试重点】

本文大部分内容来自于:https://blog.csdn.net/a724888/article/details/80277176本文目录:1、HashMap【JDK1.7】1.1  定义1.2  构造函数1.3  数据结构1.4  存储实现:put(key, value)1.5  读取实现:get(key)2、HashMap【JDK1.8】2.1  HashM...

2019-01-16 09:53:01 948

转载 【搞定Java集合框架】第4篇:Iterator、fail-fast 机制与比较器 Comparator & Comparable

本文大部分内容来自于:Java集合详解3:Iterator,fail-fast机制与比较器本文目录1、Iterator1.1  java.util.iterator1.2  各个集合的 Iterator 的实现1.2.1  ArrayList 的 Iterator 实现2、fast-fail机制2.1  fail-fast 示例2.2  fail-fast 产生的原...

2019-01-15 18:19:56 249

原创 【搞定Java集合框架】第3篇:LinkedList、Queue

本文部分内容来自:Java集合详解2:LinkedList和Queue,大部分内容为个人原创。本文主要通过源码分析 LinkedList 和 Queue 这两种集合。本文目录:1、LinkedList1.1  概述 1.2  增删改查2、Queue2.1、DeQueue 接口2.2  ArrayDeque 实现类2.3  PriorityQueue 实现类2...

2019-01-15 15:18:28 238 1

转载 【搞定Java集合框架】第2篇:ArrayList、Vector、Stack

本文大部分内容出自:Java集合详解1:ArrayList,Vector与Stack一文,部分内容为个人原创。本文目录: 1、ArrayList 1.1 ArrayList 概述1.2  底层数据结构1.3  增删改查 1.4  初始容量和扩容方式1.5  线程安全 2、Vector2.1  Vector 简介2.2  增删改查2.3、初始容量和扩容方法...

2019-01-14 23:12:53 207

转载 【搞定Java集合框架】第1篇:Java 集合框架梳理

本文参考自:https://blog.csdn.net/a724888/article/details/80215706,部分内容为自己原创。本文介绍了Java集合类的基本框架,接口结构以及部分源码分析,并且通过自己实现一些集合类来更好地剖析Java集合类的整体结构。本文只是对集合类框架进行一个大概的梳理,毕竟集合框架中包含的类太多了,一篇文章不可能讲完,这里先开一个头,对整体框架有一个清...

2019-01-14 19:28:48 680

原创 【剑指offer】面试题43:1 ~ n 整数中 1 出现的次数

题目:输入一个非负整数n,求从1到n个整数的十进制表示中1出现的次数。例如:输入12,从1到12这些整数中包含1的数字有1,10,11,和12,1一共出现了5次。 牛客网链接:https://www.nowcoder.com/questionTerminal/bd7f978302044eee894445e244c7eee6方法一:不考虑时间效率的解法,靠它拿 Offer 有点难...

2019-01-14 15:28:56 314

原创 【剑指offer】面试题42:连续子数组的最大和

题目:输入一个整型数组,数组里有正数也有负数。数组中的一个或连续多个整数组成一个子数组。求所有子数组的和的最大值。要求时间复杂度为O(n)。牛客网链接:https://www.nowcoder.com/questionTerminal/459bd355da1549fa8a49e350bf3df484 例如输入的数组为{1,-2,3,10,-4,7,2,-5 },和最大的子数组为{3,1...

2019-01-14 11:47:52 956

原创 【剑指offer】面试题41:数据流中的中位数

题目:如何得到一个数据流中的中位数?如果从数据流中读出奇数个数值,那么中位数就是所有数值排序之后位于中间的数值。如果从数据流中读出偶数个数值,那么中位数就是所有数值排序之后中间两个数的平均值。由于数据是从一个数据流中读出来的,因而数据的数目随着时间的变化而增加的。如果用一个数据容器来保存从流中读出来的数据,则当有新的数据从流中读出来时,这些数据就插入数据容器。这个数据容器可以用很多的数据...

2019-01-14 10:39:54 418

原创 【剑指offer】面试题40:最小的 k 个数

题目:输入n个整数,找出其中最小的 k 个数。例如输入 4, 5, 1, 6, 2, 7, 3, 8 这 8 个数字,则最小的 4 个数字是1, 2, 3, 4。牛客网链接:https://www.nowcoder.com/questionTerminal/6a296eb82cf844ca8539b57c23e6e9bf这道题最简单的思路莫过于把输入的 n 个整数排序,排序之后位于最前...

2019-01-13 18:56:37 483 1

原创 【剑指offer】面试题39:数组中出现次数超过一半的数字

题目:数组中有一个数字出现的次数超过数组长度的一半,请找出这个数字。例如输入一个长度为9的数组{1, 2, 3, 2, 2, 2, 5, 4, 2}。由于数字2在数组中出现了5次,超过数组长度的一半,因此输出2。如果不存在则输出0。牛客网链接:https://www.nowcoder.com/questionTerminal/e8a1b01a2df14cb2b228b30ee6a921...

2019-01-13 16:16:09 356

Java NIO核心概念总结篇

这是学习Java NIO过程中总结的核心概念,里面包含了基本的知识点,详细知识点也可以查看我的博客:pcwl_java里的Java NIO篇

2018-10-11

文件校验工具

用于文件校验,比对各种加密方式后的结果,非常好用!

2018-10-07

Navicate免安装版

Navicate的免安装版,解压后直接运行.exe文件就可以使用

2018-10-07

JVM知识点汇总

平时收集的与JVM相关的文章,现将整理在一起分享给大家,内容通俗易懂

2018-10-07

计算机网络协议概述

本文档中收录了20多篇平时收录的和计算机网络技术相关的文章,现整理分享给大家!

2018-10-07

Java中equals,hashcode和==的区别

本文中详细的阐述了Java中经常遇到的equals、hashcode以及“==”号三者之间的区别

2018-10-07

Java多线程知识点总结

该文档总结了Java多线程相关的知识点,分享给大家,简单易懂!

2018-08-19

Altova XMLSpy2013简体中文版

Altova XMLSpy主要用于XML的编辑和校验用,最近做XML相关的项目,收藏了一个破解中文版

2018-07-07

空空如也

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

TA关注的人

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