自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 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 8022 1

原创 图解HTTP系列笔记

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

2019-07-25 17:44:57 212

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

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

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

原创 JVM类加载机制

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

2019-07-22 10:31:28 178

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

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

2019-07-19 10:18:05 174

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

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

2019-07-19 09:26:12 2909

原创 高性能的索引策略

独立的列如果查询中的列不是独立的,则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 200

原创 对Java平台的理解

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

2019-07-17 11:13:50 138

原创 MYSQL中的索引

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

2019-07-16 19:55:56 151

原创 G1垃圾回收器

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

2019-07-16 14:49:19 170

原创 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 15023

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

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

2019-07-15 21:22:39 333

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

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

2019-07-11 18:51:55 947

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

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

2019-07-11 16:47:07 175

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

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

2019-07-10 22:44:15 173

空空如也

空空如也

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

TA关注的人

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