![](https://img-blog.csdnimg.cn/20201014180756724.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
基础
文章平均质量分 97
猫球球
一年测试,一年前端,一年java。
最后决定在java的路上蹒跚前行。
展开
-
【JAVA】java数据存储-基础类型,对象和字符串
总所周知,java是一种面向对象的程序设计语言。在java里,一切都被视为对象,因此可以采用单一固定的语法。尽管一切都看作对象,但是操纵的标识符实际上是对象的一个“引用”,这个引用指向数据实际存放的地址。而我们的数据被存储到什么地方呢?特别是内存是怎么分配的呢?我们有个不同的地方可以存储数据(以下内容摘自《java编程思想》:1. 寄存器。这里是最快的存储区,因为它位于不同于其他存储区的地...原创 2018-11-01 21:45:09 · 924 阅读 · 0 评论 -
【JAVA实战】手写代码生成器-根据mysql表结构生成实体类
项目已上传github:https://github.com/seraphapple/mysql-code-generator这个应该属于一个入门项目吧,因为之前一直没做过,就一直想着有空了要先不上这一课,不然总觉得缺点什么。我的实现方案其实很简单,先通过驱动和mysql数据库获取到表结构信息,再根据表名和字段名进行转换成帕斯卡命名和驼峰命名来适配类名和成员变量名,最后通过freeM...原创 2019-03-27 18:24:16 · 2697 阅读 · 2 评论 -
【JAVA】使用java生成文件并输出
感觉这篇博客记录了我重复造轮子的过程,这显而易见是一个很多人实现过的功能呢。写这段代码主要是为了在文件中批量生成命令文件,也就是个文本生成器,用机器生成命令的好处很明显——人绝不可能手打1000多行代码,哪怕是复制黏贴主要部分,并且对一些参数进行修改。但是对机器来说循环个1000次,无论是怎么样的老爷机都可以轻松做到(还记得我初学变成的第一个作业就是循环输出1到1000,但是用的是学校公共机房最差...原创 2019-03-18 21:23:51 · 11624 阅读 · 0 评论 -
【Redis】mac安装redis
先安装homebrew(之前博客有提到)然后使用brew install redis等他跑完, redis就安装好了。然后使用命令:redis-server启动redis。原创 2019-01-16 21:32:43 · 139 阅读 · 0 评论 -
【JAVA】单元测试工具-Mockito学习心得
前一段时间换到了一个新的项目,开始疯狂加班,连学习都暂时停滞了。好在新的项目有新的要求,也经常会遇上新的问题,和新的技术,就算是在加班,也不失为一种学习的过程。在原本的项目中我是从来不写单元测试的,第一是没有人做此要求,第二是我不会。一个java开发还没有研究过单元测试,说不定会笑死人,但是因为从来用不上,我也就从没有意识到自己需要补充这方面的知识。但是在新的工作环境中, 总是会遇到新的问题,...原创 2019-01-16 20:28:25 · 1470 阅读 · 1 评论 -
【JAVA实战】编写迷你spring mvc
我用spring系列框架进行开发也有两三年的时间了,但是仅止于使用,偶尔会聊些一些细节的原理什么的,但是对于spring其实还停留在一知半解的地步上_(:зゝ∠)_。这次找到了一个介绍编写spring mvc的小视频,正好从头开始重新系统的了解spring的运行原理。1. 运行原理spring的代码运行分为三个阶段:配置阶段,初始化阶段和运行阶段(如下图)。1. 配置阶段:先在we...原创 2019-02-01 14:31:51 · 314 阅读 · 2 评论 -
【JAVA】HashMap源码探索
hashmap的源码在java的面试中一直是一个很关键的部分,在搜索面试题的时候我们经常会看到类似这样的题目:hashmap的底层数据结构是什么? 描述一下hashmap put方法的过程?很多时候我们好像都只顾着使用它,而不清楚底层实现,还有的时候我们知道一鳞半爪,但是表示不出来具体的内容。今天我准备从源码理一遍,HashMap的实现细节。 一. 什么是Map? 根...原创 2018-11-30 23:57:18 · 646 阅读 · 2 评论 -
【数据结构】数据结构探索(一) —— 树的综述
最近研究了mysql的索引结果,mysql的索引结果是使用了b+ tree的数据结构,了解了结构以后,对索引的功能和使用的一些规则就有了更加深入的了解,原来只是死记硬背规则和策略,现在感觉能知道背后到底是因为什么。之后因为看到了Set对象的元素存入方式,TreeSet使用的是红黑树存储,来保证元素不会重复,我大概能理解他的实现原理,但我回头一想居然发现我对红黑树的定义已经完全想不起来了。所以准...原创 2018-11-08 23:51:15 · 339 阅读 · 0 评论 -
【mysql】mysql索引探索(四)-- 整理一下索引的其他知识点
1. 索引列的数据长度能少则少。(能节省空间,长度越少就说名关键字能保存的越多)2. 索引不一定是越多越好越全越好,一定是建合适。(因为需要维护,插入的时候需要所有索引都维护到)3. 匹配列前缀可用到索引 like 999%, like %9999%和like %9999是无法使用索引的。(最左匹配原则)4. where条件中 not in 和<>操作无法使用索引。(同上)...原创 2018-11-08 12:56:20 · 236 阅读 · 0 评论 -
【mysql】mysql索引探索(三)-- 高性能使用索引的策略
既然我们已经对索引的本质有所了解,那么我们就应该来讨论如何高性能的使用引擎。1. 列的离散性越高,选择性越好。列的离散性是这样定义的:count(discount col):count(col),也就是不同的列数比列的总数。这个数值越大说明列的离散型就越好。如果用离散性很低的列,比如性别来做索引,你会发现大家都只有两种值(男和女),这样其实你根本不知道应该往那条路走,区别度太低,选择性...原创 2018-11-08 12:41:31 · 402 阅读 · 0 评论 -
【mysql】mysql索引探索(二)-- B+Tree索引在Mysql中的体现形式
我们都知道在mysql中有两种常用的引擎,MyISAM和InnoDB,这两种引擎是不一样的。但是这两种索引如何不一样呢?MyISAMmyisam引擎的表会生成三个文件,.frm,.MYD 和 .MYI.其中.frm里面存储了表定义文件,比如表有哪些字段,字段是如何修饰的。然后.MYD会是一个数据文件,也就是下图右边的图,你的数据行数什么的全都保存在.MYD文件中。所有的索引全部...原创 2018-11-07 23:20:38 · 254 阅读 · 0 评论 -
【mysql】mysql索引探索(一)-- 为什么使用B+ Tree作为索引的结构
什么是索引在百度上查找索引的时候,很多回答会是:数据库就像是一本书,索引就像是他的目录,我们通过索引可以很快的定位到我们要找的数据。这话说的通俗易懂,一点没错。但是如果要说的更确切一点,那么应该这么表达:索引是为了加速对表中数据行检索而创建的一种分散的数据结构。首先索引的存在是为了加速对表中数据行的检索,其次他是分散的,最后他是一种数据结构。所以我们说正确的创建索引是提升数据库...原创 2018-11-07 22:31:58 · 3084 阅读 · 2 评论 -
【数据结构】数据结构探索(四)—— 红黑树(R-B Tree)
本文部分代码和图来自大佬博客https://blog.csdn.net/v_JULY_v/article/details/6105630,向大佬致敬; 红黑树,一种二叉查找树,但在每个结点上增加一个存储位表示结点的颜色,可以是Red或Black。红黑树有五个性质: 性质1. 节点是红色或黑色。 性质2. 根节点是黑色。 性质3 每个叶节点(NIL节点,空节点)是...原创 2018-11-12 23:09:32 · 214 阅读 · 0 评论 -
【转载】清晰理解红黑树的演变---红黑的含义
原文地址:https://www.cnblogs.com/tiancai/p/9072813.html前言 红黑树,对不少人来说是个比较头疼的名字,在网上搜资料也很少有讲清楚其演变来源的,多数一上来就给你来五条定义,红啊黑啊与根节点距离相等之类的,然后就开始进行旋转、插入、删除这些操作。一通操作下来,连红色和黑色怎么来的,是什么含义,有什么作用都云里雾里的,能搞清楚就怪了。 ...转载 2018-11-09 23:29:37 · 140 阅读 · 0 评论 -
【数据结构】数据结构探索(四)—— AVL树(平衡二叉树)
AVL树又称平衡二叉搜索树,它能保证二叉树高度相对平衡,尽量降低二叉树的高度,提高搜索效率。它具有以下特点:1. 左子树和右子树的高度之差的绝对值不超过1 2. 树中的每个左子树和右子树都是AVL树3. 每个节点都有一个平衡因子(balance factor--bf),任一节点的平衡因子是-1,0,1。(每个节点的平衡因子等于右子树的高度减去左子 4. 树的高度 ) .AVL树出了...原创 2018-11-09 18:52:27 · 321 阅读 · 0 评论 -
【数据结构】数据结构探索(三) —— 二叉搜索树(Binary Search Tree)
部分内容引自大佬博客《深入理解二叉搜索树(BST)》https://blog.csdn.net/u013405574/article/details/51058133二叉搜索树是一种有顺序的二叉树,它具有以下特征:1.每个元素有一个关键字,并且任意两个元素的关键字都不同;因此所有的关键字都是唯一的。 2.在根节点的左子树中,元素的关键字(如果有的话)都小于根节点的关键字。 3.在根节点...原创 2018-11-09 15:18:58 · 250 阅读 · 0 评论 -
【数据结构】数据结构探索(二) —— 二叉树(Binary Tree)
我们对树这一种结构有了入门的了解以后,我们就要开始研究最重要的树结构即二叉搜素树。二叉树(Binary Tree)的定义二叉树是(n≥0 )数据元素的有限集。它或为空集(n=0),或者含有唯一的一个元素称为根结点,其余的元素被分为两个互不相交的有限集合。每个集合本身又是一棵二叉树,称为根结点的左子树和右子树。二叉树(binary tree)是树形结构的另一个重要类型。二叉树的每个结...原创 2018-11-09 14:12:08 · 252 阅读 · 0 评论 -
【JAVA】HashSet和TreeSet如何保证存入元素不会重复?
Set是一种数据集合。它与List同样继承与Collection接口。它与Collection接口中的方法基本一致,并没有对Collection接口进行功能进行功能上的扩充,只是比Collection接口更严格了。与List不同的是,Set中的元素是无无需的,并且都以某种规则保证存入的元素不会出现重复。它的特点也就是:1. 元素不会出现重复。2. 元素是无序的。(存取无序)3....原创 2018-11-06 16:03:41 · 3005 阅读 · 0 评论 -
【工具】Tmux使用笔记
以前做测试的时候就觉得tmux和screen这种分屏工具是命令行神器,但是因为长期脱离命令行开发的环境,所以就基本上把这项技能给忘了,现在也就大概整理一下使用方法。安装使用brew 轻松安装brew install tmux基本概念在tmux中,session包括一个或者多个window,window包括一个或者多个pane,这三者的关系如下图所示:Session:...原创 2019-04-03 13:58:12 · 383 阅读 · 0 评论