自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

Welcome to tiny_spot

不积跬步,无以至千里,不积小流,无以成江海

  • 博客(51)
  • 收藏
  • 关注

原创 GIT常用操作

具体的,若某用户对文件A已经做了修改且已提交至远程仓库。安装完成后运行git程序,大打开git bash界面,然后输入以下命令,设置全局用户名与全局邮箱。b、本地新建目录用于保存项目,且在该目录下右击打开git bash,输入如下命令后执行。c、本地回滚版本成功,但是远程仓库还没有成功。本地git安装完成后,需让IDE绑定本地GIT程序,IDE方可使用本地GIT。b、如果以远程仓库为准点击“接受他们的”,如果需要具体分析,则点击“合并”b、本地合并完后,再使用图形界面push到远程仓库。

2023-05-06 22:08:19 1621 1

原创 Java ArrayList扩容机制(基于JDK1.8)

ArrayList继承自AbstractList,实现List接口,是一个可变长的列表。不同于LinkedList,LinkedList底层由链表实现,所以只需维护好底层链表,即可实现列表的长度变化。而ArrayList底层由数组实现,数组初始化需要指定长度,所以想要实现可变长的列表,ArrayList底层肯定做了一些小动作来支持。今天看了下ArrayList的源码,记录一下它的扩容机制。首先,需要了解类内的这6个属性:/** * 列表默认的初始化容量,10 */

2021-08-20 12:33:43 450

原创 Spring学习之JdbcTemplate简单使用

1.准备工作 数据库中建一个测试用的表 CREATE TABLE `users` ( `id` int(11) NOT NULL AUTO_INCREMENT, `name` varchar(256) CHARACTER SET utf8mb4 DEFAULT NULL, `age` int(11) DEFAULT NULL, PRIMARY KEY (`id`)) ENGINE=InnoDB AUTO_INCREMENT=29 DEFAULT CHARSET=utf8;

2020-07-30 17:32:40 254

原创 Java8新特性之Stream API学习

Java8新特性之Stream API学习Stream API 介绍Java8中有两个最为重要的改变。第一个是Lambda表达式;另一个就是Stream API 。Stream是Java8中处理集合的关键抽象概念,它可以指定你希望对集合进行的操作,可以执行非常复杂的查找、过滤和映射数据等操作。使用Stream API对集合数据进行操作,就类似于使用SQL执行的数据库查询。也可以使用Strea...

2020-03-19 23:35:46 289

原创 Java8新特性之Lambda表达式学习

Lambda表达式​ Lambda表达式是Java8推出的非常强大的特性之一。借助它,我们对一些接口的简单实现不再需要写那么多繁琐,多余的代码,只需写一些关键性的代码,即简洁又优雅,装X与无形之中。但是正因如此,可读性也就不要奢求了。**使用要求:*待实现的接口中只能有一个需要被实现的方法,不包括default修饰的方法。而这种接口,就称之为函数式接口,通常用@FunctionalInter...

2020-03-14 00:17:38 149

原创 Java8新特性之函数式接口学习

函数式接口只包含一个方法的接口(default方法除外)称为函数式接口。可用@FunctionalInterface注解修饰,可以语法检查。@FunctionalInterfacepublic interface InterfaceTest { void test(); default void defaultMethod() {}}四大内置核心函数式接口Lambda...

2020-03-13 17:40:42 149

原创 Nginx简单安装与配置(学习)

Nginx什么是Nginx(what) ?Nginx(“engine x”) 是一个开源的高性能的Http和反向代理服务软件。nginx因具有高并发(特别是静态资源),占用系统资源少等特性,且功能丰富而逐渐变得流行。Nginx的功能(为何要使用Nginx(why))?反向代理正向代理客户端指定目标服务器,而中间代理只是起到转发的作用。客户端需要配置代理服务器地址。正向代理最...

2019-12-13 20:22:48 307

原创 HashMap源码学习(JDK1.8)

今天撸了一下Java8的HashMap源码,总算搞清楚了一点点,所以Mark一下(有理解不对的地方希望有大佬指出)先看一下HashMap的存储结构,先对HashMap的存储结构有一个初步认识对源码分析有很大好处。上图取自CS-Notes上图的0-15可以看做是16个桶,HashMap初始桶的数量为16,然后下面吊着的是桶上面的链表。还是先看看结点的存储结构吧:static clas...

2019-09-15 22:24:21 98

原创 Java反射机制

什么是Java反射机制  JAVA反射机制是在运行状态中,对于任意一个实体类,都能够知道这个类的所有属性和方法;对于任意一个对象,都能够调用它的任意方法和属性;这种动态获取信息以及动态调用对象方法的功能称为java语言的反射机制。  Java的反射机制允许编程人员在对类未知的情况下,获取类相关信息的方式变得更加多样灵活,调用类中相应方法,是Java增加其灵活性与动态性的一种机制。----百度百...

2019-08-12 16:35:26 118

原创 设计模式之单例模式

单例模式单例模式(Singleton Pattern)是 Java 中最简单的设计模式之一。刚刚看了看单例模式,趁热打铁,先做个笔记。这种模式涉及到一个单一的类,该模式的要求是:1.该类负责创建自己的对象,同时确保只有单个对象被创建2.这个类提供了一种访问其唯一的对象的方式,可以直接访问,不需要实例化该类的对象。根据要求考虑采用什么样的方式实现,因为不能被实例化,那么该类的构造方法我...

2019-08-01 22:11:36 95

原创 Java自定义排序

Java中自定义排序可以通过实现Comparator接口或Comparable接口来完成。关键:实现Comparator接口的关键在于重写compare()方法,Comparable接口的关键在于重写compareTo()方法。JDK中大部分的类都实现了Comparable接口,拥有compareTo方法。如Integer,String等。但是对于自己定义类,如果需要自定义排序,则要实现Comp...

2019-07-20 19:56:29 3271

原创 页面跳转后提示信息

    我们在开发web应用的时候,经常会遇到这种问题:当你登录成功或失败后,你希望给用户提示一些信息,来提高用户体验。    其中信息提示的效果还算好做,使用一些其他的插件(如toastr)就可以做的很优美。但其中的逻辑处理,后端控制可能需要仔细琢磨,今天我在写一个登陆逻辑时碰到了这种逻辑问题,查阅了许多优秀的博客...

2019-07-11 16:57:51 4467

原创 使用RedirectAttributes将数据传入重定向的页面

    有时候咱们可能会遇到需要将数据传入重定向的页面当中的情形,比如登录成功后重定向到项目主页,并显示提示信息。这时就需要将登录验证中得到的验证结果传入重定向之后的页面。使用RedirectAttributes 可以达到我们想要的效果,他是专门用于重定向携带参数跳转的的工具类,它有两种实现方式:第一种:使用redirectAttributes.add...

2019-07-11 16:50:48 1263

原创 十大经典内部排序之八大实现(Java版)

在将排序之前,先来了解一下排序的一些基本概念。内部排序和外部排序:内部排序指的是待排序记录全部存放在计算机内存中进行排序的过程。外部排序指的是待排序记录的数量很大,以致内存一次不能容纳全部记录,在排序过程中需对外存进行访问的排序过程。排序的稳定性:当待排序序列中存在两个或两个以上的关键字相等的记录时,设有两个关键字相等的记录和​​​​​​(i < j),即在排序前在​前面,若排序后,...

2019-04-18 20:49:03 193

原创 二叉树(Binary Tree)

二叉树是n个结点所构成的集合,它或为空树或为非空树。对于非空树T:1.有且仅有一个称之为根的结点;2.除根节点之外的其余结点分为两个互不相交的子集T1和T2,分别称为左子树和右子树,且T1和T2也都是二叉树。满二叉树:深度为k且含有个节点的二叉树。完全二叉树:深度为k的,有n个结点的二叉树,当且仅当其每一个结点都与深度为k的满二叉树中编号从1-n的结点一一对应,称之为完全二叉树。...

2019-04-14 16:19:44 193

原创 二叉排序树Java实现(Binary Sort Tree)

二叉排序树又称二叉查找树,它是一种对排序和查找都很有用的特殊二叉树。二叉树的定义:二叉树或者是一颗空树,或者是具有下列性质的二叉树:1.若它的左子树不为空,则左子树上所有结点的值均小于它的根结点的值;2.若它的右子树不为空,则右子树上所有结点的值均大于它的根结点的值;3.它的左右子树也分别为二叉排序树。简单的说就是(左 < 根 < 右)二叉排序树的创建:从空的...

2019-04-14 16:09:42 456

原创 Java集合之HashMap

首先上图:Map接口是一种双列集合,不同于List和Set这些单列集合,它的每一个元素都包含一个键值对key和value,键和值对象之间存在一种对应关系,称为映射。从Map集合中访问元素时,只要指定了key,就可以通过key找到对应的value。由图可知,HashMap是Map接口的实现类,它基于哈希表,必须保证不出现重复的键,但没要求值也要唯一(相同的值可以有多个键对应),并且键和值都允许使...

2019-03-21 18:08:08 182

原创 快速排序----Java实现

快排是由冒泡排序改进而得的。冒泡一次交换只能消除一个逆序,而快排的一次交换可以消除多个逆序,从而大大加快排序的速度。算法步骤: 在待排序的n个记录(元素)中任取一个记录(通常取第一个记录)作为枢轴(或者叫支点,就是先随便取一个数),设它的值为key。快排就是在每一趟排序后,把所有值小于key的记录交换到key前面,而把比key大的记录交换到key的后面,最后将key放到“中...

2019-03-20 21:35:40 167

原创 Java集合之TreeSet

首先上图:TreeSet是Collection和Set接口的是实现类,特点是元素不重复,且无序(指存入顺序和取出顺序可能不一致)。它内部采用自平衡的排序二叉树来存储元素,以此结构来保证元素不重复且可以对元素进行排序。自平衡的排序二叉树很重要的一个性质是根节点的左子树都小于根节点,根节点的右子树都大于根节点。以此迭代,从而保证有序。另外TreeSet不是线程安全的。下面的代码演示的是TreeSe...

2019-03-20 17:21:31 224

原创 Java集合之HashSet

首先上图:由图可知,HashSet是Collection和Set接口的实现类。Set的一个重要特性就是元素不可重复,且元素无序(存入顺序与取出顺序不一致),这与List接口是恰恰相反的。HashSet是根据对象的哈希值来确定元素在集合中的存储位置,因此具有良好的存取和查找性能,其底层其实是一个HashMap的实例,它允许使用null元素。HashSet不是线程安全的。Set集合和List...

2019-03-19 21:34:55 257

原创 Java集合之Vector

首先上图:Vector类实现可增长的对象数组,同ArrayList一样都是采用数组存储数据。Vector通过维护capacity和capacityIncrement来优化存储管理,capacity值始终至少应与向量的size相等,当往Vector中添加的元素个数要大于capacity时,Vector将按capacityIncrement的大小增加存储块。与ArrayList不同...

2019-03-19 20:02:47 102

原创 Java集合之ArrayList

首先上图:ArrayList是List接口的实现类,而List接口又继承自Collection接口,所以ArrayList属于单列集合,他是程序中最常见的一种集合。和LinkedList一样它是有序的(元素存入顺序和取出顺序一致),并且元素可以重复。ArrayList内部封装了一个长度可变的数组对象,当存入的元素超过数组长度时,ArrayList会在内存中分配一个更大的数组来存储这些...

2019-03-19 18:44:18 396

原创 Java集合之LinkedList

首先上图:上图是Java中单列集合的继承关系图,Collection是单列集合类的跟接口,用于存储一些列符合某种规则的元素,其中一个重要的特性就是长度可变。它有两个子接口,分别是List和Set。List的特点是元素有序,元素可重复Set的特点是元素无序,元素不可重复上述的有序是指元素的存入顺序和取出顺序一致,而非大小排序那种有序。LinkedList是List接口的实现类...

2019-03-19 18:08:16 143

原创 密码学MD5的实现

MD5的实现是很坑的,我学的这本教材上写的MD5算法写的很简单,很多细节都没有说清楚,如果不注意的话,在实现md5的时候会走很多弯路。第一个坑点:就是MD强化,俗称填充。消息的初始化处理时,需要使得消息的比特长度时512的整数倍。书上是说在消息m的二进制表示之后先填入一个1,然后再添加若干个0(不超过511个0),是的消息的比特长度是512的整数倍少64比特,最后在最低的64比特位填入消息m的...

2019-03-11 21:42:34 568

原创 Mysql 8.0使用教程(cmd命令行操作)

可以直接参考mysql官方教程:Mysql教程1.要查看mysql提供的选项列表,可以用 mysql -? 或 --help选项2.连接和断开服务器数据库在本地建立,可用如下命令打开mysqlshell&gt; mysql -u user -pEnter password:其中user用你的MySQL帐户的用户名代替,然后再第二行输入密码。如果,当你尝试登录时,收到错误消息...

2018-12-08 16:05:02 18430 3

原创 密码学DES(数据加密标准)c++实现

                            数据加密标准(DES)是分组密码的典型代表,是上世纪八九十年代很常用的加密算法。最近手痒,自己把DES用C++简单的实现了一下。写的比较繁琐,不想再碰了,所以扔这里存着吧。DES的整体结构采用16圈Feistel模型。大致过程如下:1.将待加密的明文分组,每组64比特2.对于每一组明文,首先进行初始置换(在代码中置换表为IP)...

2018-12-07 22:08:16 1276

转载 通过浏览器快速查看或调试手机app的数据库

在Android Studio中查看SQLite数据库用stetho通过网页访问手机数据库这个方法确实很方便,记录下来!https://www.cnblogs.com/hacjy/p/7419004.htmlhttps://www.cnblogs.com/clevergirl/p/5671527.htmlhttps://www.jianshu.com/p/03da9f91f41fh...

2018-12-02 01:09:03 722

原创 安卓随时监测网络状态,判断当前网络是否可用

想要在程序中随时随地的知道当前网络是否可用,其实实现起来很简单。咱们只需要用到广播接收者这个组件即可,并且调用一下系统的一个服务就可以知道啦。因为当网络状态发生变化时,系统会发送一条网络状态变化的广播到公共消息区,然后监听这条广播的接收者就会收到这条消息,这时你就可以做出自己想做的操作啦。我们采用动态注册广播接收者的方法对活动进行注册。不过首先得自定义一个接收者的工具类,具体步骤如下:...

2018-11-28 00:19:08 3217

原创 安卓闪退:java.lang.IllegalStateException: Circular dependencies cannot exist in RelativeLayout

今天在测试app的时候出现了闪退情况,经过好一番折腾才弄好,记下来以免忘记。运行时出现闪退的情况,打开logcat发现如下Error:java.lang.IllegalStateException: Circular dependencies cannot exist in RelativeLayout        at android.widget.RelativeLayout$De...

2018-11-27 22:32:58 511

原创 安卓按钮4种点击事件

在安卓开发中,按钮的点击事件有四种,分别是:1,使用匿名内部类的方法实现点击事件2,通过实现.xml文件中相应控件的onClick方法实现点击事件3,通过实现OnClickListener接口中的onClick方法实现点击事件4,通过创建内部类的形式实现点击事件前三种较为常用,第四种不是很常用。第四种和第三种本质上是一个意思,但第三种较为简洁。 1,使用匿名内部类的方法...

2018-11-12 18:31:30 9554

原创 安卓活动跳转之Intent使用

如何让自己的的程序能够在活动之间来回切换,变的高大上呢?使用Intent可以实现这一点。 Intent(中文意思:意图)大致可以分为显示Intent和隐式Intent。显示Intent很直白,一般只需两个语句即可实现活动的跳转:Intent intent = new Intent(MainLayoutActivity.this , DialogActivity.class);/...

2018-11-12 16:43:31 887

原创 eclipse如何查看当前项目的编码方式+java编码方式总结

我们写代码有时候会出现这种情况:在自己电脑上运行的很正常,字符显示很完美,把自己的代码给别人或者换台机器运行,就会出现乱码的现象,这是为什么呢?都是编码方式在作祟,不同的机器或java项目可能使用的默认编码不同。如何查看eclipse 中java项目的编码方式:如图右击项目名称,然后选择propertices选项,就可以了我的这个项目的默认编码方式是utf-8 ,下面对java...

2018-10-30 19:31:00 13769 3

原创 如何让程序在linux服务器下一直运行(关闭远程连接后仍然继续运行)

一、为什么要使程序在后台执行最近刚刚入手在做一个远程通信的项目,利用套接字实现长连接通信。那么问题来了,我的服务端程序怎么才能一直在服务器上运行以达到随时监测用户请求的目的呢?查了几篇博客,解决了,记一下笔记。程序在后台跑有以下2个好处:1:我们远程连接的之一端并不影响服务器服务端程序的运行,也就可以达到服务端程序一直运行的目的,好在用户发送请求时及时处理用户需求。2:让程序在后台跑后...

2018-10-20 00:29:23 19938 2

原创 android 自定义标题栏

想自定义一个标题栏,有一种简单的做法,引入布局文件就可以啦。我们来模仿一个简单的标题栏,即左右各一个按钮,中间一个文本。也就是说我们只要两个button和一个TextView即可1.新建一个布局title.xml,代码如图所示:&lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;LinearLayout xmlns:android="ht...

2018-10-13 16:42:12 320

原创 密码学DES(数据加密标准)子密钥生成算法c++实现

                      数据加密标准DES是分组密码的典型代表,是上世纪八九十年代很常用的加密算法。DES的整体结构采用16圈Feistel模型。大致过程如下:1.将待加密的明文分组,每组64比特2.对于每一组,进行初始置换3.置换后将明文分为左半部分和右半部分各32比特,接着进行16圈迭代3.1 每一圈中,右半部分在48比特圈(子)密钥k的作用下进行f变换...

2018-10-07 22:13:18 7104 1

原创 安卓如何让一个软件启动前加载一张图片

在应用启动时,首先显示一张图片,可以让app在后台加载,待加载完成后,再显示应用主界面,这样可以给用户较好的体验,也是安卓开发一种常用的技巧。那么如何做呢,下面介绍的只是其中一种方法,采用的是handler的延时操作来完成的,该函数在android.os.Handler中。简单思路:1.采用一个活动专门用来显示那张你想显示的图片  2.并将此活动在AndroidManifest文件中注...

2018-08-28 18:37:44 5090 4

原创 AAPT2 error: check logs for details

当你的as第一次同步工程时出现:AAPT2 error: check logs for details 错误提示,首先去看一下 .gradle 文件路径是否包含中文,这个文件一般时存在C:/user/yourname 目录下,如果你的yourname是中文名的话(别问我怎么知道的,因为我就是(囧态)),那么恭喜你,问题找到了。(没办法,外国人开发软件的尿性就是这样啦,见不得非英文的东西)解决方法如...

2018-08-24 14:52:51 553

原创 Unable to resolve dependency for ':app@debug/compileClasspath': Could not resolve com.android.suppor

android studio3.xx出现以下错误:Unable to resolve dependency for ':app@debug/compileClasspath': Could not resolve com.android.support:appcompat-v7:28.0.0-rc01.Open FileShow DetailsUnable to resolve depend...

2018-08-24 13:58:55 30884 34

原创 Could not GET 'https://dl.google.com/dl/android/maven2/com/android/tools/build/gradle/3.1.3/gradle-3

Andorid studio 3.XX版本出现如下图错误: 即:Could not GET 'https://dl.google.com/dl/android/maven2/com/android/tools/build/gradle/3.1.3/gradle-3.1.3.pom'. Received status code 400 from server: Bad RequestEnabl...

2018-08-22 10:34:15 34815 6

原创 2018HDU多校赛第四场Problem E. Matrix from Arrays

传送门:http://acm.hdu.edu.cn/showproblem.php?pid=6336Problem E. Matrix from ArraysTime Limit: 4000/2000 MS (Java/Others)    Memory Limit: 262144/262144 K (Java/Others)Total Submission(s): 1025    Ac...

2018-08-03 11:25:55 272

空空如也

空空如也

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

TA关注的人

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