自定义博客皮肤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学习

静下心来学习...

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

原创 【搞定计算机操作系统】面试题整理

一、进程与线程1、简单说说进程、线程以及它们的区别进程: 是系统进行资源分配和调度的一个独立单位,是最小的资源管理单位。线程: 是进程的一个实体,是 CPU 调度和分派的基本单位,是最小的 CPU 执行单元。线程自己不拥有任何系统资源,但是它可以访问其隶属进程的全部资源。所以线程创建、撤销、切换的开销远小于进程,一个进程可以拥有多个线程。2、进程的状态和转换    三态模型: 一个进程...

2019-04-11 22:18:49 7585

原创 【手撕代码】单例模式

面试过程中,经常被遇到手写单例模式的代码,本文就常用的几种单例模式的写法进行总结。单例模式,就是一个应用程序中,某个类的实例对象只有一个,你没有办法去 new,因为构造器是被 private 修饰的,一般通过 getInstance() 的方法来获取它们的实例。一、懒汉式用到时再去创建public class Singleton { private static Sin...

2019-04-26 20:13:10 1083

原创 【手撕代码】背包问题:数组中任意数累加得到目标值(递归+动态规划)

问题:给你一个数组 arr,和一个整数 aim。如果可以任意选择 arr 中的数字,能不能累加得到 aim,返回 true 或者 false。一、递归版本【分析】:每个位置 i 有 要和不要 两种选择;叶节点会看自己这里的结果是不是 aim,从而向父结点返回 true 或 false,父结点比较子节点的结果,有一个为 true 就一直返回 true,否则返回 false。分析...

2019-04-23 17:17:47 2346 6

原创 【手撕代码】矩阵最小路径问题(递归+动态规划)

题目:给你一个二维数组,二维数组中的每个数都是正数,要求从左上角走到右下角,每一步只能向右或者向下。沿途经过的数字要累加起来。返回最小的路径和。一、递归版本如果矩阵为 n x n,那么时间复杂度为:O()。递归版本虽然简单,但是时间复杂度过高,显然是不行的。通过分析发现,在递归过程中,会有很多重复的计算,如下图所示:在计算(1,0)位置的右元素和计算(0,1)位置的下元素时,...

2019-04-23 17:03:39 1293 1

原创 【手撕代码】二叉树的前序、中序、后序、层级遍历

目 录:一、递归实现1、前序遍历2、中序遍历3、后序遍历二、非递归实现1、层级遍历2、前序遍历3、后序遍历4、中序遍历在面试中常常会问到二叉树的遍历形式:前序、中序、后序以及层级遍历。一般情况下,不会让你手写递归版本,因为确实太简单了,所以,我们需要熟练的掌握非递归版版本。一、递归实现1、前序遍历public class PreOrderWi...

2019-04-21 18:49:25 1428

原创 【手撕代码】二分查找:递归和非递归实现

本文主要讲述面试现场常遇见的手撕代码题:二分查找。虽然代码很好理解也很简单,但是感觉只有多练,多理解才能真的掌握。千万不要眼高手低,稳扎稳打才是王道。一、非递归版本public class BinarySearch { /** * 非递归实现 * @param array : 有序数组 * @param key :需要查找的数 * @re...

2019-04-21 14:52:21 1095

转载 【手撕代码】生产者消费者问题

本文转自:https://www.jianshu.com/p/3f0cd7af370d在现场面试的过程中,经常遇到手写生产者和消费者的问题。这里做个总结:这绝对是属于重点了,不管是考察对于该重要模型的理解还是考察代码能力,这都是一道很好的考题,所以很有必要的,我们先来回顾一下什么是生产者-消费者问题。一、问题简单回顾生产者消费者问题(英语:Producer-Consumer pr...

2019-04-21 14:00:15 1165

原创 【手撕代码】多个线程交替打印

目 录:方法一:锁实现【推荐】方法二:信号量 semaphore 实现【推荐】方法三:wait / notify 实现方法四:使用 Lock / Condition 实现面试的过程中,多个线程交替打印是经常被要求手写的。借用本文列出几种常用的解题方法。方法一:锁实现【推荐】times:保证每个线程的打印次数;state:保证每个线程之间的交替打印;lock:...

2019-04-21 11:35:53 1061 2

转载 Java 中 Scanner 类常用方法总结

本文转自:https://blog.csdn.net/Megustas_JJC/article/details/68960433一、Scanner 简介Java 5 添加了 java.util.Scanner 类,这是一个用于扫描输入文本的新的实用程序。它是以前的 StringTokenize r和 Matcher 类之间的某种结合。由于任何数据都必须通过同一模式的捕获组检索或通过使用一个...

2019-04-17 20:35:06 651

转载 【搞定Spring源码】第 1 篇:IOC 容器

本文转发自:https://javadoop.com/post/spring-ioc目录一、引言二、BeanFactory 简介三、启动过程分析3.1、创建 Bean 容器前的准备工作3.2、创建 Bean 容器,加载并注册 Bean3.3、BeanDefinition 接口定义3.4、customizeBeanFactory3.5、加载 Bean: loadB...

2019-04-16 19:59:50 608

原创 【leetcode】第394题:字符串解码(华为笔试题)

题目:给定一个经过编码的字符串,返回它解码后的字符串。编码规则为:k[encoded_string],表示其中方括号内部的encoded_string正好重复k次。注意k保证为正整数。你可以认为输入字符串总是有效的;输入字符串中没有额外的空格,且输入的方括号总是符合格式要求的。此外,你可以认为原始数据不包含数字,所有的数字只表示重复的次数k,例如不会出现像3a或2[4...

2019-04-13 18:48:43 3815

原创 字符串的排列与组合【Java 递归实现】

我们在笔试中经常会遇到需要对字符串进行排列或者组合的题目。本篇文章对字符串的排列和组合进行递归版本的实现。如果你有更简单易懂的方法,一定要在评论区留下来~1、字符串的组合【子序列】题目:输入一个字符串,输出该字符串中字符的所有组合。例子:输入:abc,它的组合有:a、b、c、ab、ac、bc、abc分析:我们可以将字符串中的每个字符看成二叉树的一个节点,根节点为空,每个节点都...

2019-04-13 15:34:08 1602 2

原创 【leetcode】第3题:无重复字符的最长子串

原文链接:https://leetcode-cn.com/problems/longest-substring-without-repeating-characters/说明:部分文字解析来自于原文。目 录:一、暴力解法【时间复杂度O(n^3)】二、滑动窗口【时间复杂度为O(n)】三、优化的滑动窗口给定一个字符串,请你找出其中不含有重复字符的最长子串的长度。示例...

2019-04-10 22:40:11 568 1

原创 【leetcode】第5题:最长回文子串

目 录:一、暴力解法二、动态规划三、中心扩展法四、Manacher 算法先说明几个概念:1. 子串:小于等于原字符串长度,由原字符串中任意个连续字符组成的子序列;2. 回文:关于中间字符对称的字符串,例如:"ababa"(单核)、"abccba"(双核);3. 最长回文子串:回文子串中最长的子串。一、暴力解法【时间复杂度:O()】基本思路:遍历该字符...

2019-04-09 22:50:23 940 2

原创 解决JDK版本导致JMeter无法启动问题

最近在做一个秒杀系统练习时,需要使用JMeter进行压力测试。但是安装JMeter后,出现了以下错误:很明显是JDK的版本问题导致的,但是我又不想改变系统的JDK版本。所以可以下载高版本的JDK,无需改变系统的JDK版本,直接在bin/jmeter.bat最前面添加以下三行代码就行:set MINIMAL_VERSION=1.8.0set JAVA_HOME=C:\Program...

2019-04-08 21:06:40 5663 3

原创 【搞定左神算法初级班】第7节:暴力递归、动态规划

目 录:一、递归题目1:求 n! 的结果题目2:汉诺塔问题题目3:打印一个字符串的全部子序列,包括空字符串题目4:打印一个字符串的全部排列题目5:母牛每年生一只母牛,新出生的母牛成长三年后也能每年生一只母牛,假设不会死。求N年后,母牛的数量二、动态规划动态规划的特点如何把暴力递归套路变为动态规划题目1:矩阵最小路径和题目2:(背包问题)从数组任意选择数字...

2019-04-04 20:54:41 2041 3

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关注的人

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