自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 HTTPS基础和握手过程

什么是HTTPSHTTPS是HTTP+TLS/SSL。因为HTTP是明文传输,所以会有安全问题,而TLS协议是传输层安全协定。在了解TLS之前,首先要了解一些常识性的概念加密算法对称加密算法对称加密算法就是加密和解密使用的一样的密钥进行加解密。 常见的对称加密算法有DES,AES,现在使用AES较多。如果只是用对称加密的话,密钥泄漏则会造成严重的后果。非对称加密算...

2018-08-14 10:58:46 1198

原创 Java线程池总结

为什么要用线程池1.线程池可以节约创建线程和销毁线程的时间。 2.线程池可以对线程进行管理。 3.线程池把执行机制和工作单元分离。工作单元就是Runnable和Callable,执行单元就是由Executor框架提供。Java中的线程池线程池的核心接口与类核心接口是Executor和ExecutorService。ExecutorService就是线程池的接口定义。 ...

2018-08-07 20:30:42 615

原创 红黑树基础

什么是红黑树红黑树是一种自平衡的二叉查找树。红黑树是一种很重要的数据结构,Java中TreeMap,TreeSet和jdk1.8中的HashMap底层都使用了红黑树。红黑树的性质红黑树有五个性质。 1. 节点为红色或者黑色 2. 根节点为黑色,新插入的节点为红色 3. 叶子节点为null并且为黑色 4. 红色节点的子节点都是黑色 5. 从任意一个节点到其每个叶子节点经过的...

2018-08-07 20:26:09 290

原创 JackSon的几种用法

JackSon介绍本文使用的JackSon版本为2.9.6。JackSon是解析JSON和XML的一个框架,优点是简单易用,性能较高。JackSon处理JSON的方式JackSon提供了三种JSON的处理方式。分别是数据绑定,树模型,流式API。下面会分别介绍这三种方式。JackSon数据绑定数据绑定用于JSON转化,可以将JSON与POJO对象进行转化。数据绑定有两种...

2018-07-31 19:05:13 26215 4

原创 《剑指Offer》Java实现-输出链表的倒数第K个节点

题目描述输入一个链表,输出该链表中倒数第k个结点。思路使用两个指针p1和p2,都指向头部。p1指针先走 k-1 步,到达第 k 个节点。然后两指针同时走,当p1指针到达末尾时,p2指针在倒数第 k 个节点上。代码/*public class ListNode { int val; ListNode next = null; ListNode(...

2018-07-09 23:33:26 174

原创 远程连接MySQL数据库

最近学习Mybatis,公司电脑本机没有安装MySQL,windows下的MySQL安装比较复杂,不想折腾,就打算连接我云服务器上的数据库,总结步骤如下。云服务器设置安全组,允许3306端口入站部分云服务器厂商默认关闭3306端口入站,设置入站规则允许即可。打开3306端口查看3306端口状态 当前显示127.0.0.1:3306,表示仅接受来自本机的连接。 打开mysql...

2018-07-04 18:48:46 281

原创 《剑指Offer》Java实现-包含min函数的栈

题目定义栈的数据结构,请在该类型中实现一个能够得到栈最小元素的min函数。思路可以通过数组来实现栈的数据结构。然后需要保存最小值,同样可以使用一个数据进行存储。代码import java.util.Stack;import java.util.ArrayList;public class Solution {&n...

2018-06-19 21:24:01 185

原创 java中==和equals的区别

一、==和equals的作用(它们比较的是什么)==是java中用于比较的语法。对于不同的比较对象,比较的东西不同。1.==(1)基本类型对于基本类型,==比较的是它们的值是否相等。public void fun1(){ int a = 1; int b = 1; System.out.println(a==b);//输出true;}...

2018-05-11 17:11:57 178

原创 云服务器数据库乱码问题解决方案

问题最近我的一个Spring Boot项目发布到服务器上的时候,数据库中的中文字符显示为??。在网上查找了相关资料,得知数据库乱码有很多种可能情况。下面将我自己的解决方案分享出来。解决方法服务器支持中文首先我的云服务器是Ubuntu Server系统。系统默认没有中文语言包。需要在系统中安装中文语言包。具体操作如下: 1.执行sudo apt-get install la...

2018-05-05 21:53:04 1743

原创 《剑指Offer》Java实现-数值的整数次方

题目给定一个double类型的浮点数base和int类型的整数exponent。求base的exponent次方。思路这个题目比较简单,主要注意的是要思考全面,指数的正数,负数,以及0的情况。代码public class Solution { public double Power(double base, int exponent) { double resul...

2018-04-28 21:30:48 292

原创 《剑指Offer》Java实现-二进制中1的个数

题目输入一个整数,输出该数二进制表示中1的个数。其中负数用补码表示。思路这个题目的思路很巧妙,如果一个整数不为0,那么这个整数的二进制至少有一位是1。如果我们把这个整数减1,那么原来处在整数最右边的1就会变为0,原来在1后面的所有的0都会变成1(如果最右边的1后面还有0的话)。其余所有位将不会受到影响。比如说1110,减1等于1101;进行与运算,得到1100。代码publ...

2018-04-28 20:54:26 120

原创 《剑指Offer》-Java实现-变态跳台阶

题目描述一只青蛙一次可以跳上1级台阶,也可以跳上2级……它也可以跳上n级。求该青蛙跳上一个n级的台阶总共有多少种跳法。思路因为n级台阶,第一步有n种跳法:跳1级、跳2级、到跳n级跳1级,剩下n-1级,则剩下跳法是f(n-1)。 所以f(n)=f(n-1)+f(n-2)+…+f(1) 因为f(n-1)=f(n-2)+f(n-3)+…+f(1) 所以f(n)=2*f(n-1)代码...

2018-04-28 20:22:43 255

原创 《剑指Offer》Java实现-斐波那契数列

题目描述大家都知道斐波那契数列,现在要求输入一个整数n,请你输出斐波那契数列的第n项。 n<=39思路很基础的题目,有递归和非递归两种实现思路。代码递归算法 public class Solution { public int Fibonacci(int n) { if(n==0) ...

2018-04-22 21:59:17 355

原创 《剑指Offer》 Java实现-旋转数组的最小数字

题目描述把一个数组最开始的若干个元素搬到数组的末尾,我们称之为数组的旋转。 输入一个非递减排序的数组的一个旋转,输出旋转数组的最小元素。 例如数组{3,4,5,1,2}为{1,2,3,4,5}的一个旋转,该数组的最小值为1。 NOTE:给出的所有元素都大于0,若数组大小为0,请返回0。思路首先肯定存在O(N)的解法。但是这种解法肯定不是最优的。对于这种绝大多数是有序的数组,可以采用...

2018-04-22 21:13:40 124

原创 《剑指Offer》Java语言-用两个栈实现队列

题目描述用两个栈来实现一个队列,完成队列的Push和Pop操作。 队列中的元素为int类型。思路这个题目有几种思路。第一种,把第二个栈作为辅助空间。当push操作时,压入到第一个栈中。当要pop操作的时候,将元素从第一个栈中弹出到第二个栈中,然后出栈一个元素。然后再将元素入栈到第一个栈中。时间效率为O(N^2)第二种思路:两个栈互相作为辅助空间。入栈操作到第一个栈中,然后出栈的时候,如...

2018-04-22 20:19:23 130

原创 《剑指Offer》Java实现-重建二叉树

题目描述输入某二叉树的前序遍历和中序遍历的结果,请重建出该二叉树。假设输入的前序遍历和中序遍历的结果中都不含重复的数字。例如输入前序遍历序列{1,2,4,7,3,5,6,8}和中序遍历序列{4,7,2,1,5,3,8,6},则重建二叉树并返回。思路前序遍历的第一个节点,肯定是根节点。找到在中序遍历中的根节点位置。左面的值就是左子树,右面的值就是右子树。根据这个可以进行递归。就能重建...

2018-04-22 19:19:02 129

原创 《剑指Offer》Java语言-从尾到头打印链表

题目描述输入一个链表,从尾到头打印链表每个节点的值。思路这个题目可以利用栈先进后出的性质来完成。代码 import java.util.*; public class Solution { public ArrayList<Integer> printListFromTailToHead(ListNode lis...

2018-04-18 16:04:19 207

原创 《剑指Offer》Java实现-替换空格

题目描述请实现一个函数,将一个字符串中的空格替换成“%20”。例如,当字符串为We Are Happy.则经过替换之后的字符串为We%20Are%20Happy。思路这个题目看起来比较简单,但是想要做的AC,需要考虑的情况比较多。1.空字符串 2.只有空格的字符串,3.最后一个字符或第一个字符为空格的情况。代码public class Solution { pub...

2018-04-17 21:07:07 161

原创 《剑指Offer》Java实现-二维数组中的查找

题目描述在一个二维数组中,每一行都按照从左到右递增的顺序排序,每一列都按照从上到下递增的顺序排序。请完成一个函数,输入这样的一个二维数组和一个整数,判断数组中是否含有该整数。思路这个题目比较简单,由于二维数组每行是递增的,所以可以先按行遍历,如果第一个元素比target小,那么该行存在这个target。这里加一个try catch部分,是由于有一个测试点为空。解法 p...

2018-04-17 20:38:55 163

原创 记第一次面试(阿里一面)凉凉~

阿里一面面经-24分钟(Android岗)题目和自己的部分回答em…..开始没有自我介绍,直接就开始了,有点儿猝不及防。 1.泛型用过没,什么时候用到泛型,泛型有什么好处。 2.while(true)的话会不会导致死循环,while(true)是不是非常占用CPU资源。 3.讲一下生产者消费者模式。 4.如何实现生产者消费者模式。 5.HashMap是线程安全的吗。(我回答了...

2018-03-24 00:31:46 1346

原创 Java Web初探,我的第一个Servlet

第一个Servlet

2017-01-24 14:30:28 309

原创 修改 Android 中两个Activity的过渡动画

修改Activity的过渡动画

2017-01-10 19:47:59 2176

原创 TabLayout加ViewPager的简单使用

TabLayout加ViewPager实现导航布局

2017-01-07 15:53:30 507

原创 Android ToolBar的基本使用方式

ToolBar的基本使用方法

2017-01-06 19:10:35 357

原创 Android 使用通知(Notification)

Android Notification的简单使用

2017-01-04 11:18:14 324

原创 Android ViewPager的简单使用方法

ViewPager的基本使用方法

2016-12-30 14:56:11 610

原创 SharedPreferences储存数据基本用法

Android,SharedPreferences存储的基本使用方法

2016-12-29 14:44:35 988

原创 Android学习笔记——Activity之间传递数据

Android Activity数据传输

2016-12-28 13:41:44 460

空空如也

空空如也

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

TA关注的人

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