基数排序

今天没事看了一下基数排序,说实话,我最不擅长的就是排序了,最近准备多刷一些排序题,练习一下; 首先啥是基数排序呢?来一个比较专业的说法,看看就行了: 基数排序(radix sort)属于“分配式排序”,又称桶子法,bucket或bin sort,将要排序的各各位的值分配至某些桶中,达到排序的目的;基 ...

java小新人 @ 2020/07/13

java一个对象多大?

最近在看点不知道什么鬼的东西,看得到了一个让我眼前一亮的新东西,感觉很有趣,记录一下; 我们怎么知道一个java对象的大小呢?比如HashMap<String,Object> map = new HashMap<>();,这个map对象在堆中多大呢?占多少个字节呢? 我们可以借助apache的一个类 ...

java小新人 @ 2020/03/26

一个自旋锁的栗子

一直以来不是怎么清楚自旋锁,最近有点时间,好好的学习了一下; 所谓的自旋锁在我的理解就是多个线程在尝试获取锁的时候,其中一个线程获取锁之后,其他的线程都处在一直尝试获取锁的状态,不会阻塞!!!那么什么叫做一直尝试获取锁呢?就是一个循环,比较经典的是AtomicInteger中的一个updateAnd ...

java小新人 @ 2020/03/22

shell编程入门

最近由于工作原因,写了几个脚本,然后再linux中用定时任务去跑,记录一下shell脚本的学习过程吧! 首先知道shell第一行#!/bin/bash表示这是一个shell脚本,例如下面这个简单的脚本: #!/bin/bash #author:java小新人 #date:20200311 #desc ...

java小新人 @ 2020/03/12

go实现java虚拟机01

前段时间看了一本书,说的是用go语言实现java虚拟机,很有意思,于是就花了一段时间学习了一下go语言,虽然对go的底层理解不是很深,但是写代码还是可以的,就当做个读书笔记吧! 链接在这里,另外还有一本《go程序设计语言》,有需要的直接一起拿走,链接:https://pan.baidu.com/s/ ...

java小新人 @ 2020/03/05

go实现java虚拟机02

上一篇通过flag包实现了命令行参数的解析,其实就是将输入的参数保存到一个结构体中,上一篇说过的例如java -classpath hello.jar HelloWorld这种命令,那么HelloWorld这个类是怎么找出来的呢?是直接在hello.jar中去找吗? 还记得java的类加载机制吗?有 ...

java小新人 @ 2020/03/05

go实现java虚拟机03

上一篇我们已经根据路径读取到了我们需要的字节码文件,就以java.lang.Object这个类为例,可以看到类似下面这种东西,那么这些数字是什么呢? 要了解这个,我们大概可以猜到这是十进制的,在线将十进制转为十六进制看看https://tool.oschina.net/hexconvert/,注意上 ...

java小新人 @ 2020/03/05

简单看看java之枚举

枚举类这个类用的比较少,对这个不怎么熟悉,最近看源码刚好可以好好了解一下,那么,枚举Enum是什么呢?在jdk中,Enum是一个抽象类下图所示,这就说明这个类是不能进行实例化的,那么我们应该怎么使用呢? 1.枚举类的基本使用 简单的使用一下(随便借用的一个栗子),我们可以直接把枚举类当作一个常量一样 ...

java小新人 @ 2019/07/02

随意看看AtomicInteger类和CAS

最近在读jdk源码,怎么说呢?感觉收获还行,比看框架源码舒服多了,一些以前就感觉很模糊的概念和一些类的用法也清楚了好多,举个很简单的例子,我在读Integer类的时候,发现了原来这个类自带缓存,看看如下代码: 为什么127和128的结果不一样呢?因为Integer的内部维护了一个缓存,就是从jvm启 ...

java小新人 @ 2019/07/01

js原型链

说实话js这门语言以前没有仔细研究过,现在研究起来感觉好麻烦,对于原型链这个说法我也是刚接触不久,就试着说说我的理解吧! 关于上一篇我们说了js整个函数体系结构,想了解的可以点击这里,这里随便找到一些对原型的小测试,你可以看看会不会,其中Person是一个构造函数,person1是构造函数的一个实例 ...

java小新人 @ 2019/06/29

简单看看jdk7源码之java.lang包01

从今天开始简单开始读一遍jdk的源码,估计这个时间会很长,慢慢啃吧。。。。(首先说一句抱歉,因为很多图都是直接百度扣的,图太多了不能为每一个图附上原版链接,不好意思!) 在网上看了很多的教程,读源码有一定的顺序,按照包的顺序:java.lang包,java.util包,java.util.concu ...

java小新人 @ 2019/06/28

简单学习js

由于是个前端小白,通过这一两天的学习html,css,js和jquery等,基本上前端会用了,而且熟悉我博客的人来说,没错,我把自己的博客给优化了一下(一些大佬都是禁用模板的所有样式,然后自己设计页面布局),我的话就稍微添加了一些小插件; 比如动态雪花背景,雪花随着鼠标弹开;背景图片;鼠标点击特效文 ...

java小新人 @ 2019/06/14

简单学习HTML

最近突然就对静态页面很有兴趣,主要是看到几个比较酷炫的页面效果,也想自己做一下,但是我的前端页面就是菜鸡,还停留在html+css+jquery的简单使用上,而且还忘记得差不多了! 而且我感觉前端比后端麻烦一点,可能是我没有什么审美吧,自己做的页面总是很丑陋,哈哈哈!就记录一下学习html的过程吧! ...

java小新人 @ 2019/06/08

java简单实现用语音读txt文档

最近比较无聊,随便翻着博客,无意中看到了有的人用VBS读文本内容,也就是读几句中文,emmm,挺有趣的,实现也很简单,都不需要安装什么环境,直接新建txt文件,输入一些简单的vbs读文本的代码,然后将新建的文件后缀改为.vbs,然后双击一下就可以有效果了。。。。 于是我就想啊,java行不行呢?查了 ...

java小新人 @ 2019/06/08

CGLib动态代理

上一篇我们说过了jdk动态代理,这一篇我们来看看CgLib动态代理,本来以为CGLib动态代理和JDK实现的方式差不多的,但是仔细了解一下之后还是有很大的差异的,这里我们先简单说一下这两种代理方式最大的区别,JDK动态代理是基于接口的方式,换句话来说就是代理类和目标类都实现同一个接口,那么代理类和目 ...

java小新人 @ 2019/06/03

java反射和代理

这一篇我们说说反射和动态代理,为什么这两个要一起说呢?因为动态代理中会用到反射,而且java中反射的用处太多了,基本上无处不在,而且功能十分强大; 1.反射简介 反射是什么呢?一般都是很专业的说法:在运行状态中,对于任意一个类,都能够知道这个类的所有属性和方法;我最初看这句话我是没看出来什么厉害的地 ...

java小新人 @ 2019/05/30

java数据结构和算法10(堆)

这篇我们说说堆这种数据结构,其实到这里就暂时把java的数据结构告一段落,感觉说的也差不多了,各种常见的数据结构都说到了,其实还有一种数据结构是“图”,然而暂时对图没啥兴趣,等有兴趣的再说;还有排序算法,emmm....有时间再看看吧! 其实从写数据结构开始到现在让我最大的感触就是:新手刚开始还是不 ...

java小新人 @ 2019/05/27

java数据结构和算法09(哈希表)

树的结构说得差不多了,现在我们来说说一种数据结构叫做哈希表(hash table),哈希表有是干什么用的呢?我们知道树的操作的时间复杂度通常为O(logN),那有没有更快的数据结构?当然有,那就是哈希表; 1.哈希表简介 哈希表(hash table)是一种数据结构,提供很快速的插入和查找操作(有的 ...

java小新人 @ 2019/05/22

java数据结构和算法08(B树的简单原理)

这一篇首先会说说前面剩余的一点知识2-3树,然后简单说说B树,不写代码,只是简单看看原理吧! 为什么要说一下2-3树呢?了解2-3树之后能更快的了解B树; 1.简单看看2-3树 其实我们学过了前面的2-3-4树之后,再看2-3树就太容易了,2-3树中任意一个节点最多只有三个子节点,而且节点中只有两个 ...

java小新人 @ 2019/05/19

java数据结构和算法07(2-3-4树)

上一篇我们大概了解了红黑树到底是个什么鬼,这篇我们可以看看另外一种树 2-3-4树,看这个树的名字就觉得很奇怪。。。。 我们首先要知道这里的2、3、4指的是任意一个节点拥有的子节点个数,所以我们就大概知道2-3-4树中的每一个节点应该最多有四个子节点;注意:2-3-4树中的任意一个节点不能只有一个子 ...

java小新人 @ 2019/05/15