- 博客(50)
- 资源 (1)
- 收藏
- 关注
原创 冒泡排序
冒泡排序每一轮循环都会有一个元素被排好序,元素之间进行两两比较。如果大于(按正向前提下),则交换。冒泡排序是一种很基本的排序算法。基本步骤如下指向数组中的两个相邻的元素(最开始是数组的头两个元素),比较他们的大小。【2】【1】【3】【5】 – 将 2 和 1 进行比较如果顺序错了(即左边的值大于右边),就互换位置。【1】【2】【3】【5】 – 如果位置是正确的,则什么都不做。将两个指针向右移动一位【1】【2】【3】【5】 – 比较 2 和 3 的大小重复上面的
2020-09-09 08:55:50
196
原创 链表和数组
数组是计算机科学中最基本的数据结构之一,我们经常会用一些名为索引的数字来标识每项数据在数组中的位置。在 Java 编程语言中,索引一般是从 0 开始算起的。String[] a = new String[]{"hello", "world"};在上述的代码中,hello 字符串的索引位为 0,world 的索引位为 1。数据结构的四种操作一般的数据结构都有以下的 4 种操作读取:查看数据结构中某一位置的功能。对于数组来说,这意味着查看某个索引位所指向的数据值。查找:从某种数据结构中找出某个数
2020-09-03 22:36:13
1294
原创 HashMap 原理之 HashMap 的存储结构(基于 JDK1.8)
在上篇文章中解答了初步认识了 HashMap 的扩容,初始化以及容量的实现,今天接着上篇文章来讲,解决一下第二个问题。Q2. 底层的存储数据结构?老规矩,在开始之前还是先把常用的几个属性掏出来/** * 树化的阈值 */static final int TREEIFY_THRESHOLD = 8;/** * 反树化的阈值 */static final int UNTREEIFY_THRESHOLD = 6;/** * 最小树节点容量 */static final int MIN_
2020-09-03 01:01:08
659
原创 HashMap 原理之 HashMap 初始化(基于 JDK1.8)
基于 JDK1.8 进行分析首先说几个问题,然后根据问题去分析具体情况Q1. 默认容量是多少,负载因子是多少,扩容倍数?Q2. 底层的存储数据结构?Q3. 如何处理 hash 冲突?Q4. 如何计算一个 key 的 hash 值?Q5. 数组的长度为何是 2 的幂次方?Q6. 扩容查找过程?开始之前,先看一下 HashMap 的几个基本属性。/** * 默认的初始化容量,必须是 2 的 幂次方 */static final int DEFAULT_INITIAL_CAPACIT..
2020-09-02 00:58:03
6133
1
原创 【JavaWeb_Part10】(Spring Boot 01)已经厌倦了一成不变的导 Jar ,写配置套路?那就一起来看"傻逼"吧
第一篇 Spring Boot 的文章,教你如何手动/自动快速搭建一个 Spring Boot 项目。如果你厌倦了一成不变的装(kai)逼(fa)套路,那么傻逼可能会使你的逼格更高一点。
2017-07-12 15:23:58
806
原创 【JavaWeb_Part09】面向接口编程?NO!我拒绝,我喜欢面向切面编程(AOP)。
面向接口已经很强大了,但是还是满足不了 Spring,我想它需要的应该是更大的范围,那么今天我们一起来看一下面向切面编程吧。也就是 Spring 的核心功能之一---AOP!
2017-07-10 10:42:58
734
原创 【JavaWeb_Part08】白娘子你就算淹了这深圳,我他妈也要去玩我的 Spring
mmp,许仙被 qj 了么?下这么大的雨,502,金 3 秒都不管用了。
2017-07-03 11:41:07
1652
1
原创 【JavaWeb_Part07】功能堪比 502 的强大粘合剂?Spring(春天)框架表演秀
听说 Spring 是胶水界的一姐?502?3秒? 赶紧用手摸摸,看看粘不粘?
2017-07-02 20:17:53
935
原创 【JavaWeb_Part06】JDBC?弱爆了,来试试 MyBatis 的黑科技-逆向工程
你还在手写 100+ pojo 类吗?你还在苦恼怎么他妈的这个破项目有那么多实体类和映射文件吗?解放双手,从逆向工程做起....
2017-06-30 17:08:58
493
1
原创 【Question 01】关于 intellij 启动 web 项目控制台乱码的问题
intellij 启动 Tomcat,控制台输出的日志信息出现中文乱码问题。
2017-06-30 10:41:21
914
原创 【JavaWeb_Part05】JDBC?弱爆了,看看轻量级的 Mybatis FreeStyle
mybatis,你有 freestyle 吗?
2017-06-29 17:28:36
2986
4
原创 【JavaWeb_Part04】JDBC?弱爆了,看看轻量级的 Mybatis 入门首秀
你还在使用 JDBC?弱爆了。不妨舔一下 Mybatis,纵享丝滑,根本停不下来,不信你舔一口?
2017-06-29 11:05:36
949
原创 【JavaWeb_Part01】入门 MySQL 数据库
与 MySQL 第一次约会,好紧张...听说 MySQL 是个美女,究竟是不是这样呢?不如我们来一起一探究竟。
2017-06-23 13:20:36
1184
1
原创 自定义View?一起来打造一个圆形进度条吧。
自定义 View 真的有那么难吗?no,no,no,并非是这样。。。## 这个是摘要```public static void main(String[] args){ System.out.println("hello world")}```
2017-06-23 00:10:43
1546
2
原创 Retrofit 学习记录(一)
Retrofit说起 Retrofit,我真是头大,工作了一年了,还只会用 OKHttp 去做网络请求,由于自己注解没学好,所以对 Retrofit 一直都有点畏惧,但是没办法,现在 Retrofit 都是主流的网络请求了,所以难啃也得啃。毕竟工作了一年多了,说自己不会 Retrofit + RxJava 好像不太合适,那就来吧。对 Retrofit 是什么东西,就不介绍了。反正大家都说好用,不信你
2017-04-12 09:04:53
379
原创 Java设计模式之简单工厂模式
什么是简单工厂模式简单工厂模式属于类的创建型模式,又叫做静态工厂方法模式。通过专门定义一个类来负责创建其他类的实例,被创建的实例通常都具有共同的父类。模式中包含的角色及其职责工厂(Creator)角色简单工厂模式的核心,它负责实现创建所有实例的内部逻辑。工厂类可以被外界直接调用,创建所需的产品对象。抽象(Product)角色简单工厂模式所创建的所有对象的父类,它负责描述所有实例所共有的公共接口。
2017-04-07 10:38:33
400
原创 线性布局的权重究竟是怎么一回事
写在前面如果你是新手,我建议你坚持看下去,因为你肯定不了解权重,而权重并没有那么简单。希望看完后对你有一定的帮助。关于说什么专业不专业,或者app流畅,其实不存在这回事情。设置成0dp,wrap-content,以及match-parent是有很多道理可循的。关于布局上节中我们讲了一些TextView的基本用法,那么这节我们就来讲一些Android中的常见布局。Android早期主要有六大布局:分别
2017-03-20 14:00:54
2912
3
原创 RecycleView在中间“插入”布局以及添加头部的姿势
前段时间,在闲下来的时候做自己的项目,碰到了一个深坑,其实也不能说是坑吧,主要是这个需求比较奇怪,需求是这样的,它是一个商城的主界面实现,由于有相同的item,但是它除了有相同的Item外,还有一些不同的布局,所以我在ListView和RecyclerView当中做出选择的时候,毫不犹豫的选择了RecyclerView。至于为什么要用RecyclerView呢?因为RecyclerView好玩一点,
2017-02-17 09:20:59
2929
1
原创 2016年终总结:我只想成为自己喜欢的人 不负己心 不负此生
真是快,一眨眼就到2017年了,本来打算是在16年的31号写一下年终总结的,结果因为大学一对朋友的5年的爱情终于修成了正果,在2017年的1号举行婚礼,所以我31号放假了后,连家都没时间回,直接去了火车站。5年的爱情真的是不容易,祝福他们俩百年好合(ps:我是扮郎,我未过门的媳妇是伴娘),贴一下他俩的结婚照,应该不会说我侵权吧? 在这里祝福他俩永结同心,早生贵子!(我和我未过门的媳妇也有6年的光景
2017-01-02 15:30:02
1623
2
原创 使用V7包中的AppcompatActivity充当Dialog,Activity不能全屏
问题很多时候,传统的Dialog并不能解决我们的问题,这个时候,我们就需要使用Activity来充当Dialog,以达到我们的目的。普通的Activity配置Theme.AppCompat.Dialog 就长成这副德行。在一些时候,是满足不了我们的需求的,比如我们在支付宝输入密码界面,我们需要支付页面是一个透明背景并且安全数字键盘是在底部,并且和左右两边没有留白,这个时候,我们就只能自定义主题了,我
2016-12-26 17:29:51
2954
原创 简单到不能再简单的RecycleView入门讲解(一)
RecyclerView入门RecyclerView都出来了好久了,由于我负责的一个项目一直都是使用的ListView,所以我都没什么时间去折腾google新出的这个控件,这不,最近刚好有点时间,我就把公司的项目中使用ListView的地方,全部换成了RecyclerView,传说RecycleView比ListView更方便,更利于扩展,哈哈,我也来体验一把。确实比传统的ListView简单的多,
2016-12-26 11:53:20
1928
原创 Java设计模式之单例模式
Java设计模式之单例模式 单例模式用通俗易懂的语言来描述就是始终保持一个对象只有一个实例。那么如何保证一个类始终只有一个实例呢?单例的实现方式有很多。我们先来看看最基本的单例模式的写法。私有化构造方法对外提供方法,使得外部可以利用方法来生成对象普通模式 public class SingleInstance { //静态实例 private static
2016-12-01 12:11:09
269
原创 Android入门开发之RelativeLayout(八)
前言在上一小节我们谈到了android开发中六种布局之一线性布局,在我们的实际开发中,线性布局也是用的比较多的中布局。可以毫不忌讳的说,在我们android开发中,相对布局和线性布局占的比重可以达到70%以上,另外的30%就是被帧布局占领了。至于另外的三种,压根就不会用到。所以正在学布局的小伙伴们不用担心有很多东西要学,其他的三种你可以不用理会,再者布局是很简单的一块内容,没什么难的!你只要理解了一
2016-11-24 10:21:39
695
原创 关于Mac安装破解软件,未知来源消失的问题
前言不得不说,mac真是一款专门为开发而生的工具,相比较windows来说,真的不知道好了多少,我并不是吹苹果好,关键是性价比摆在那里。唯一的缺憾就是mac上可用的软件太少了,大部分都是收费软件,对开发者来说,那些使用很频繁的还是推荐用正版,毕竟是开发者辛辛苦苦开发出来了,就这样盗窃别人的劳动成果实在是不好。但是对于有些软件用的非常少,只是偶尔会用用, 那就没有必要去花这个钱去购买正版了,毕竟mac
2016-11-23 11:41:47
15411
3
原创 Android入门开发之Linearlayout布局(七)
前言上一节我们主要讲解了linux下的权限说明,今天我们来了解一下Android中的UI设计,聊聊android中常用的布局。android中的布局主要有六种,分别是线性布局(LinearLayout),相对布局(Relativelayout),帧布局(FrameLayout),网格布局(GridLayout)以及绝对布局(AbsoluteLayout)和表格布局(TableLayout),在这六种
2016-11-22 15:42:49
3395
1
原创 Mac配置环境变量
hui# Mac配置环境变量1. /etc/profile (建议不修改这个文件 )全局(公有)配置,不管是哪个用户,登录时都会读取该文件。2. /etc/bashrc (一般在这个文件中添加系统级环境变量)全局(公有)配置,bash shell执行时,不管是何种方式,都会读取此文件。3. ~/.bash_profile (一般在这个文件中添加用户级环境变量)每个用户都可使用该文件输入专
2016-11-16 09:50:38
752
原创 判断网络是否可用以及当前手机的网络类型
前言 android的入门开发教程最近都没怎么更新,实在是抱歉,主要是最近公司的项目赶,实在是抽不出时间来写,但最近一定会补上。公司一直都没有配电脑,没办法,一个字:穷!我之前一直都用的我用了5年的华硕电脑,但是编译项目实在是太卡了。我实在是忍不了了。所以上个星期我新换了电脑,1w5的mac,真是贵。辛辛苦苦攒了大半年的工资,上一个月就全部被我败完了。- -真是罪过,罪过。不过换了mac我感觉我的
2016-11-08 10:40:35
2043
2
原创 Handler使用引起的内存泄漏原因以及解决办法
问题来源在之前我的一篇文章中我就指出了我在项目中如何会出现 内存泄漏的问题的,有兴趣的小伙伴可以点击获取原文看看这个问题出现的来龙去脉,在这里我就不过多做说明了。下面我们用最简单直接粗暴的方式进入主题。在我们开发android应用程序的时候,通常会写出如下代码 private Handler mHandler = new Handler(){ @Override
2016-10-28 11:38:58
7514
原创 Java中弱引用、软引用、虚引用及强引用的区别
前言从Jdk1.2开始,在java.lang.ref包下就提供了三个类:SoftReference(软引用),PhantomReference(虚引用)和WeakReference(弱引用),它们分别代表了系统对对象的中的三种引用方式:软引用,虚引用以及弱引用。因此java语言对对象的引用有如下四种。可能有些工作经验比较丰富的java程序员都不太明白这几种引用的区别,仅仅只是知道而已。但是知道弱引用
2016-10-27 16:33:54
2957
3
原创 android入门开发之linux文件权限(六)
前言说到权限,相信大部分人都用的还是windows系统,既然说到了权限这一块,我就不得不吐槽windows权限做的真是垃圾中的战斗机,没有比windows权限做的更垃圾的了。相反,linux系统下的权限控制就做的比较好,所以呼吁广大小伙伴们,特别是深受windows荼毒的小伙伴,赶紧弃win选linux吧。反正我是等到买了mac后,宁愿用mac os都不用windows了。真的是太恶心,太垃圾了。当
2016-10-24 14:01:26
442
原创 Android入门开发之常用的adb指令以及AndroidStudio基本配置(五)
前言在上篇文章中我们简单的介绍了HelloWorld工程目录,在这一节我们将介绍一下常用的adb指令以及AndroidStudio的一些简单的配置。常见android开发简写介绍adb: android debug bridge( android 调试桥) 建立手机与电脑直接的连接。adb运行的端口号是5037aapt: android application package tools 安卓
2016-10-22 19:20:22
1726
原创 HelloWorld工程项目解析(四)
前言前面我们已经利用AS创建了一个HelloWorld的项目,各位都是学过java的人,相比对java项目已经够了解了吧。Java项目包含的东西不多,一个libs目录,一个src目录,基本上就没啥了。如果你认为android项目和Java项目一样简单,那你就打错特错了。android项目里面大有文章。今天我们就来带着大家一起了解一下android项目中到底有什么。 如下是一个入门项目HelloWo
2016-10-20 15:00:00
1047
原创 android开发之神兵利器-androidstudio
前言前面我们已经说完了android的背景知识以及android开发的环境准备阶段,接下来我们来说一下android开发入门的必备利器-AndroidStudio。早在之前,众多的android开发者都是在用eclipse+adt来进行开发,作为google的亲儿子,google不可能让自己的亲儿子一直寄人篱下,所以,在2013年的IO大会上,google便迫不及待的推出了一款专门用于开发andro
2016-10-19 10:00:11
755
原创 StringBuffer和StringBuilder的区别
Java中String类,StringBuffer类和StringBuilder类的区别String类特点String类是一个不可变类,即一旦一个String对象被创建,包含在这个对象中的字符串序列是不可改变的,直至该对象被销毁。String类对象是final类,不能有子类。使用使用new关键字创建 String s1 = new String(“ab”);使用字符串常量直接赋值 S
2016-10-13 15:31:58
416
原创 android入门之系统架构和环境搭建
1.android背景android起源 android系统是由安迪鲁宾团队开发的,最初用于数码相机,2005.08被google收购。(真是抱了一个好大腿)在接下来的几年中,android的发展简直是如日中天。android命名来源 android名字是因为安迪鲁宾喜欢一个游戏的人物–大瓢虫,感觉很搞笑。不过我想在现在的这个时代,android小机器人的名字也应该已经深入人心了吧。and
2016-10-12 15:59:28
707
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人