- 博客(118)
- 资源 (12)
- 收藏
- 关注
原创 详解 Java 泛型
文章目录前言T 参数的由来泛型擦除泛型名称隐式强制类型转换?、super 和 extendsuperextends前言从 JDK 1.5 之后,Java 引入了泛型的支持(JDK 1.5 真是一个重要的版本,枚举、泛型、注解都是在这个版本开始支持的)。到现在,泛型已经成为 Java 里面最常使用的特性之一了。不管是各种 Java 集合类,还是一些开源库里面都能见到泛型的身影,如果我们使用得当,...
2020-05-02 12:47:06
878
原创 2019----迟到的年终总结
文章目录前言个人大事结束实习顺利毕业深漂加入鹅厂总结前言 2019 对全球来说应该算是个不顺的尬年:众多名人(李咏、斯坦李、金庸 …)离我们而去。而在年底的时候又爆发了超强的新型冠状病毒传染病。直接导致了 2020 年众多企业无法复工,影响最大的算是传统行业和服务业了,感觉 2020 年会有大量企业面临破产的风险。于我个人来说,2019 算是不坏不好的一年。本来这份年终总结早该写的,但是由...
2020-03-16 00:08:50
983
4
原创 详解 Java 枚举
本文大纲:文章目录前言使用枚举枚举类消失的构造方法枚举和 switch附:字节码中的方法签名前言枚举(enum)是 Java 语言的关键字之一,和 class 关键字一样,我们可以通过 enum 来定义一个枚举类,并在这个枚举类里面创建相关的枚举常量。这篇文章里我们来看一下枚举在 Java 字节码层面是怎么表示的。使用枚举我们通过 enum 关键字来定义枚举,一个简单的枚举定义如下:p...
2020-03-08 19:29:22
891
5
原创 开篇:预备知识-3
文章目录前言信息表示的方法-编码计算机中信息的编码信息的表示与处理charshortintlonglong longfloatdouble整数的补码表示符号数无符号数浮点数的表示单精度浮点双精度浮点浮点数的解释规范2). 非规格化的值3). 特殊值不精确的浮点数前言信息表示的方法-编码计算机中信息的编码信息的表示与处理charshortintlonglong longfloatdouble整数的补...
2020-01-06 00:37:00
1340
原创 开篇:预备知识---2
前言 在前一篇文章中我们大致介绍了 C语言的一些预备知识,对其中的某些常用知识点进行了一个概述。这篇文章中我们来通过实践的形式来加深对之前知识点的理解。程序的编译过程 我们在上篇文章中提到 C语言编译器将一个源程序编译成可执行程序大致需要经过预处理、编译、汇编、链接这四个过程。我们来借助 GCC 编译器来详细看看这几个过程。在开始之前确保你的计算机已经成功安装了 GCC 编译器。Li...
2019-11-13 22:47:21
992
原创 Java 类机制(4)---- 字节码和方法执行
文章目录前言Code 表解析ExceptionTable其他信息方法的执行局部变量表操作数栈动态链接方法返回地址方法返回地址前言 大家好,不知不觉已经到 9 月份了,本篇文章是 Java 类机制的最后一篇,我们来一起探讨一下关于 Java 的字节码和方法调用。本篇文章参考了《深入理解 JVM 虚拟机》一书。在开始之前我们先回顾一下在之前讲过的内容,在 Java 类机制(3)---- 类文...
2019-09-30 23:59:06
969
原创 开篇:预备知识---基本概念的理解
文章目录前言程序的编译和运行库上层调用下层库调用第三方库C 的语法误区注释即时变量机器字长前言 大家好,好久不写博客了,久违的感觉。这篇文章是 C/C++ 程序设计专栏的第一篇文章。说实话这个专栏申请了有半年多了,但是到目前为止仍然没有文章产出,本来打算今年年初开始动笔,其中又因为毕业的相关事宜耽误了很长时间,想想真的是非常惭愧。从另一个方面也暴露出了自己在时间管理方面能力的不足。以后真的...
2019-08-31 21:34:32
829
原创 Java 类机制(3)---- 类文件结构
文章目录前言解析 .class 文件magicminor_versionmajor_versionconstant_poolaccess_flagthis_classsuper_classinterfaces_countinterfacesfields_countfiledsmethods_countmethodsattributes_countattributes再论类加载前言 在上一篇...
2019-06-30 23:04:04
918
原创 Java 类机制(2)---- 类加载过程
前言大家好,在该专栏的上一篇文章中我们介绍了一下关于 Java 中类的相关知识点。那么这篇文章我们来看一下一个 Java 类是怎么被虚拟机加载并使用的,本文内容参考了《深入理解Java机》一书。试想一下,如果没有 Eclipse,IDEA 等 Java 编程工具,我们在编写好一个 Java 类源文件(.java)后如何将其编译成一个 .class 文件呢?没错,通过 javac 命令,实际上也...
2019-05-31 23:59:44
764
原创 2019 第十届蓝桥杯C/C++ 省赛B组题解
文章目录前言试题 A: 组队试题 B: 年号字串试题 C: 数列求值试题 D: 数的分解试题 E: 迷宫试题 F: 特别数的和试题 G: 完全二叉树的权值试题 H: 等差数列试题 I: 后缀表达式试题 J: 灵能传输前言又是一年一度的蓝桥杯,这次也应该是我大学最后一次学科竞赛了,今年的省赛题型和往届有些不同,代码填空没有了,只有结果填空和编程大题,不过坑还是一样的多,稍不注意就出错了。这里记录...
2019-03-25 01:58:19
26554
38
原创 2018 年终总结----收获颇丰的一年
今天大年初一,那么就不写技术文章了,现在这里祝大家新年快乐,新的一年脱单的脱单,脱贫的脱贫。哈哈。2018 对我来说算是挺重要的一年,因为在 2018 年我找到了第一份和专业对口的实习工作,并且确实在实习过程中学到了很多,当然也拿到了转正 offer。同时在 2018 年的秋招中也拿到了满意的 offer。所以今年对我来说确实算是比较重要的一年了。今年因为实习的原因,对人生的思考倒是没那么多(或者...
2019-02-05 12:17:40
1135
4
原创 Java 类机制(1)---- 初识 Class
文章目录前言初探 ClassClass 与反射ConstructorMethodFieldClassModifiers前言不知不觉 2018 已经结束了,而 2019 年的 1 月份也已经过半了,先给各位小伙伴送一句迟到的祝福:祝大家新年快乐。回想起我刚刚接触 Java 的时候,对它的反射机制很是好奇,因为通过它可以访问一些类中的非 public 的属性和方法,当时觉得这真是一个非常厉害的黑...
2019-01-30 18:07:36
1097
原创 Java 集合框架(8)---- 总结
文章目录前言集合类别线性集合类ArrayListLinkedList 、Queue、DequeVectorStack映射集合类HashMapTreeMapLinkedHashMapWeakHashMapHashtableIdentifyHashMap一般集合类HashSetTreeSetLinkedHashSet线程安全分类非线程安全的集合类:线程安全的集合类前言在之前的文章中我们介绍了一下 ...
2019-01-01 20:30:29
997
3
原创 Java 集合框架(7)---- Set 相关类解析
本文标题大纲:文章目录前言HashSetTreeSetNavigableSetLinkedHashSet前言在上篇文章中,我们将剩下的常见的 Map 接口下的相关具体类做了一个解析,还有一些相关的类将会在下一篇文章中做一个总结,这篇我们来看看 Set 接口的相关类。老规矩,还是继续看一下 Set 接口下继承关系图:和 List、Map 接口很类似:Set 接口提供了两个子类和接口 Abs...
2018-11-25 17:17:51
669
原创 Java 集合框架(6)---- Map 相关类解析(下)
本文标题大纲:文章目录前言LinkedHashMap操作元素遍历元素缓存控制WeakHashMapHashtableIdentityHashMap前言在上上篇文章中,我们看了一下 Java 集合框架中一些 Map 接口下的具体类,主要是对 HashMap 和 TreeMap 实现原理和相关元素操作流程的源码解析。接下来这篇文章中我们继续来解析 Java 集合框架中 Map 接口下的另一些具体...
2018-11-18 22:17:38
764
原创 详解 Java 中的四种引用
前言在 Java 中,引用随处可见,我们通过类似 Object obj = new Object(); 的代码就可以创建一个引用,而我们直接通过这个代码段创建的引用被称为强引用(StrongReference),这种引用的特点是其指向的对象无论如何都不会被 JVM 的垃圾回收器(Garbage Collector)回收(即使是面临着发生 OutOfMemoryError 异常的风险)。但是可能...
2018-10-13 23:00:36
11668
原创 详解 Java 内部类
前言内部类在 Java 里面算是非常常见的一个功能了,在日常开发中我们肯定多多少少都用过,这里总结一下关于 Java 中内部类的相关知识点和一些使用内部类时需要注意的点。 从种类上说,内部类可以分为四类:普通内部类、静态内部类、匿名内部类、局部内部类。我们来一个个看:普通内部类这个是最常见的内部类之一了,其定义也很简单,在一个类里面作为类的一个字段直接定义就可以了,例:pub...
2018-09-04 00:17:56
67218
51
原创 Java 集合框架(3)---- List 相关类解析(下)
前言在上篇文章中,我们主要看了 AbstractCollection 抽象类 List 接口下的 AbstractList 抽象类,介绍了他们实现了 Collection 中一些抽象方法。在这篇文章中,我们来看一下 List 接口下的一些具体类,也就是我们平常经常使用的一些类: ArrayList这个类算的上是我们平常开发中最常用的类之一了。翻译过来意思是 数组列表 ,不过比起这个名...
2018-06-26 20:30:02
863
原创 Java 集合框架 (1)---- 概述
前言一转眼就到 6 月了,还有一个月左右这学期就结束了,想着这学期结束就得去找实习了。。。时间过的好快,突然想起《许多年以后》中的一句歌词:时间过的好快不会再重来。大学生活就剩最后一年了,之后就得变成上班族了,还是要好好珍惜和利用剩余的大学时光。集合框架概述好了,还是不感慨人生了,步入正题,本篇文章是 Java 集合框架的第一篇,从这篇开始,我们将一起来学习一下关于 Java 中集...
2018-06-07 14:00:51
3610
1
原创 Java 多线程(8)---- 线程组和 ThreadLocal
前言在前面的系列文章中,我们从多方面讲了一下 Java 中的线程,第一篇文章中,我们讲了线程的创建(继承 Thread 类或者新建 Thread 并且传入 Runnable 对象参数)、线程的几种状态(就绪台、阻塞态、等待态、运行态、结束态)和线程的几种状态之间的转换条件...
2018-05-17 23:45:47
1111
原创 leetcode 两数之和、三数之和、最接近的三数之和、四数之和
题目链接:四数之和给定一个包含 n 个整数的数组 nums 和一个目标值 target,判断 nums 中是否存在四个元素 a,b,c 和 d ,使得 a + b + c + d 的值与 target 相等?找出所有满足条件且不重复的四元组。注意:答案中不可以包含重复的四元组。示例:给定数组 nums = [1, 0, -1, 0, -2, 2],和 target = 0。...
2018-05-09 19:18:34
4689
原创 Java 多线程(7)----线程池(下)
前言在上篇文章:Java 多线程—线程池(上) 中我们看了一下 Java 中的阻塞队列,我们知道阻塞队列是一种可以对线程进行阻塞控制的队列,并且在前面我们也使用了阻塞队列来实现 生产者-消费者模型 。有了阻塞队列的基础之后,我们来正式看一下 Java 中的线程池。首先来看一下线程池的作用:Java 已经给我们提供了多线程机制,那么线程池是为了解决什么问题呢? 我们设想一下:假设现在我们打...
2018-05-09 04:00:44
810
原创 Java 多线程(6)----线程池(上)
前言在前面的系列文章中,我们介绍了一下 Java 中多线程的一些主要的知识点和多线程并发程序的设计和处理思想。包括线程的介绍、生命周期、线程的运行控制。之后介绍了如何确保 Java 多线程并发程序的正确性,即通过锁(ReentrantLock 、synchronized )的思想来实现多线程执行顺序的控制等。如果你对这些还不熟悉,建议看一下前面的文章。接下来我们来看一下 Java 多线程中另一...
2018-05-03 22:33:32
927
原创 程序员的数学---数学思维的锻炼
第三章: 余数–周期性和分组星期问题来看一道简单的题目:今天星期日,那么 100 天以后星期几? 这个问题最笨的方法就是数数了。不过那样也是颇为费事,从余数方向考虑:一个礼拜 7 天,100 天等于 14 个礼拜周期还剩两天(100 = 14*7 + 2)。于是答案就是星期 2 了。假设现在题目变成了 1 亿天之后是星期几,我们还是可以用取余的思想:100000000 = 14285...
2018-04-25 00:41:42
8265
原创 Java 多线程(5)---- 线程的同步(下)
前言在前一篇文章Java 多线程(4)—线程的同步(中) 我们看了一下如何使用 ReentrantLock 类和 synchronized 关键字来控制在多个线程并发执行的同步,并通过他们解决了我们之前留下的关于线程通过带来的一些问题。这篇是线程同步文章的最后一篇,我们来一下一些新的知识点:volatile 关键字首先我们来看一下 Java 中另一个和多线程有关的关键字: vola...
2018-04-21 23:22:31
783
2
原创 2018 团队设计天梯赛题解---华山论剑组
写在前面2018 年度的团队设计天梯赛前几天结束了。但是成绩真的是惨不忍睹。。。毕竟是团队的比赛,如果团队平均水平不高的话,单凭一个人,分再高也很难拉起来(当然,一个人能单挑一个队的大神除外)。说实话吧,其实这段话原本不想写,一个是团队成绩并不好,另一个也是自己发挥的也不好,没有达到目标分数。但是想想不管怎样都是一种经历,所以还是写了这段话。 总结一下其实很多题放在平时做的话其实并不难,...
2018-04-03 18:40:18
8688
8
原创 Java 多线程(4)---- 线程的同步(中)
前言在前一篇文章: Java 多线程(3)— 线程的同步(上) 中,我们看了一下 Java 中的内存模型、Java 中的代码对应的字节码(包括如何生成 Java 代码的字节码和某些字节码的含义)并且分析了 Java 代码的原子性的问题。最后我们看了一下一些常见的多线程并发导致的问题。这篇文章我们主要来看一下如何运用 Java 相关 API 来实现线程的同步,即解决我们在上篇中留下的问题。在...
2018-03-23 17:46:08
862
17
原创 Java 多线程(3)---- 线程的同步(上)
前言我们在前面两篇文章中分别看了一下 Java 线程的一些概念、用法和对于线程控制(开始、暂停、停止)等,并对其中的一些易错点进行了总结,如果你是对这些概念还是还不是太熟悉,建议先看一下前面的文章:Java 多线程(1)— 初识线程 和 Java 多线程(2) — 线程的控制。这篇文章我们来继续讨论 Java 多线程 — 线程的同步。Java 内存模型在开始介绍线程同步之前,我们必...
2018-03-17 17:29:58
1250
12
原创 Java 多线程(2)---- 线程的控制
前言在上一篇文章中我们简单的认识了一下线程。包括线程的优先级、如何创建一个线程(通过继承 Thread 类或者通过新建 Runnable 对象并作为参数传入 Thread 的构造方法中)、线程的声明周期状态(新建状态、运行状态(就绪状态、正在运行状态)、等待状态、阻塞状态、结束状态),最后我们看了一下守护线程的概念和其特点。如果你对线程的一些概念还不熟悉,建议先从第一篇文章看起:Java 多线...
2018-03-12 16:07:56
1153
原创 Java 多线程(1)---- 初识线程
前言多线程想必大家都不会陌生。因为在日常使用和开发中,多线程的使用实在是太常见了。我们都知道,发明多线程的目的是为了更好的利用计算机的 CPU 资源。比如在一个进程中如果只有一个线程(也叫主线程),那么如果当这个线程因为某种原因阻塞(等待用户输入数据等情况)的时候,那么相对应的这个进程也让出了 CPU 资源并暂停执行了。试想一下,如果我们在一个进程中添加多个线程,那么当这个进程中某个线程阻塞的...
2018-03-09 15:53:20
1377
4
原创 树状数组初探
前言在前一篇文章:线段树初探 中我们看了一下线段树的基本思想并且知道了线段树擅长于解决区间问题。其实对于某些区间问题,我们不仅可以用线段树解决,还可以用树状数组解决。那么可能有小伙伴要问了,那既然线段树和树状数组都可以解决某些区间问题,那么我就一直用线段树就好了啊,为什么还要学树状数组呢?对于这个问题,我这里能给的答案是:对于两者都能解决的区间问题,两者所用的时间复杂度都是O(logn),树状...
2018-03-03 19:08:26
347
原创 线段树初探
前言先从一个问题说起:假设现在有 n 个数,编号为 0 ~ n-1。现在,每一次会给你一个区间 [a, b] (0 <= a <= b < n),要求给出这 n 个数中编号在区间 [a, b] 中的数字的和、区间 [a, b] 中的最大数字。题目并不难,我们用一个数组储存这 n 个数字,然后对于每一个给定的 [a, b] 我们用一个循环就可以求出区间 [a, b] 中...
2018-02-26 23:59:33
544
原创 L3-005. 垃圾箱分布
L3-005. 垃圾箱分布 题目链接大家倒垃圾的时候,都希望垃圾箱距离自己比较近,但是谁都不愿意守着垃圾箱住。所以垃圾箱的位置必须选在到所有居民点的最短距离最长的地方,同时还要保证每个居民点都在距离它一个不太远的范围内。现给定一个居民区的地图,以及若干垃圾箱的候选地点,请你推荐最合适的地点。如果解不唯一,则输出到所有居民点的平均距离最短的那个解。如果这样的解还是不唯一,则输...
2018-02-19 12:23:39
790
原创 L3-004. 肿瘤诊断
L3-004. 肿瘤诊断题目链接 在诊断肿瘤疾病时,计算肿瘤体积是很重要的一环。给定病灶扫描切片中标注出的疑似肿瘤区域,请你计算肿瘤的体积。输入格式:输入第一行给出4个正整数:M、N、L、T,其中M和N是每张切片的尺寸(即每张切片是一个M×N的像素矩阵。最大分辨率是1286×128);L(<=60)是切片的张数;T是一个整数阈值(若疑似肿瘤的连通体体积小于T,...
2018-02-18 12:55:57
745
2
原创 L3-003. 社交集群
L3-003. 社交集群题目链接:L3-003. 社交集群 时间限制1000 ms内存限制65536 kB代码长度限制8000 B判题程序Standard作者陈越 在社交网络平台注册时,用户通常会输入自己的兴趣爱好,以便找到和自己兴趣相投的朋友。有部分兴趣相同的人们就形成了“社交集群”。现请你编写程序,找出所有的集群。输入格式:输入的第一行给出正...
2018-02-17 18:16:14
916
4
原创 L2-024. 部落
L2-024. 部落题目链接:L2-024. 部落在一个社区里,每个人都有自己的小圈子,还可能同时属于很多不同的朋友圈。我们认为朋友的朋友都算在一个部落里,于是要请你统计一下,在一个给定社区中,到底有多少个互不相交的部落?并且检查任意两个人是否属于同一个部落。输入格式:输入在第一行给出一个正整数N(<= 104),是已知小圈子的个数。随后N行,每行按下列格式给出一个小圈子...
2018-02-17 14:53:35
621
深度学习入门:基于 Python 的理论与实现 pdf + 代码
2018-08-29
Effective Java 中文版第二版
2018-08-27
Linux 系统命令及 Shell 脚本实践指南
2018-08-27
[C语言进阶-重点、难点与疑点解析].牟海军
2018-08-27
Android 中拍照、相册选择、裁剪照片(兼容Android7.0)
2017-05-02
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人