自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(27)

原创 Java通过反射获取方法的参数名 idea的设置

之前阿里面试的时候,面试官问我Java通过反射可以获取到一个方法的形参名称吗?听到这个问题我是懵逼的,之前只知道通过反射可以获取方法名,形参的类型,但是从来没有注意可不可以获取方法形参的名称。在网上查了一些资料之后,知道在jdk1.7之前获取方法中形参的名称的是打印arg0类型。但是在jdk1.8之后,已经做了改动。可以获取到形参的名称。注意本文的JDK是基于1.8的。1.8版本以下的博主...

2018-09-22 22:35:50 3575 2

转载 深入剖析ThreadLocal

Java并发编程:深入剖析ThreadLocal转载于海子 原文链接http://www.cnblogs.com/dolphin0520/p/3920407.html  想必很多朋友对ThreadLocal并不陌生,今天我们就来一起探讨下ThreadLocal的使用方法和实现原理。首先,本文先谈一下对ThreadLocal的理解,然后根据ThreadLocal类的源码分析了其实现原理和...

2018-09-19 20:28:15 56

原创 找出有环单链表的入口节点

    这个题比较经典 ,使用两个指针去解决。一个快指针,一个慢指针。快指针每次走两步,慢指针每次走一步。如果两个指针相遇,那么这个链表是有环的。但是关键问题是链表环的入口节点在哪里呢?     数学证明贴上来:设置整个链表的节点个数为N,环的节点个数为L,从链表头节点到环的入口节点距离为M,下文记作M节点。假设慢指针走了k步之后两个节点相遇,将相遇的节点记作k节点。可以证明 0&lt...

2018-09-07 22:16:18 289

原创 类加载过程

一  加载 在加载阶段,虚拟机完成以下几件事:首先通过一个类的全限定名获取此类的二进制流 将这个字节流所代表的的静态存储结构转换成方法区的运行时数据结构 在内存中生成一个代表该类的java.lang.Class对象,作为方法区这个类的各种数据的访问入口。二  验证1 文件格式验证 第一阶段要验证字节流是否符合Class文件格式的规范,并且能被当前版本的虚拟机处理,这一阶...

2018-08-23 20:23:03 58

原创 windows下 的 jvisualvm,jstack参数查看运行程序的线程状况。

今天在复习多线程的时候写了一个死锁,突然看到网上有人用jstack的命令参数可以查看程序中每个线程的运行情况,于是就尝试着自己动手操作了一下。在cmd下运行jstack -h 看到图中有一个jstack中所有的命令后面都要接上一个pid(进程id,就是我们运行程序的id)。但是这个我不知道啊。于是又去网上找了一些博客看了一下。发现了jvisualvm这个参数,抱着试试看的心里。在dos命令...

2018-08-21 17:18:32 2688

原创 int和Integer之间的区别

int和Integer之间的区别1 Integer是int的包装类,int则是Java的一种基本数据类型2 Integer变量必须实例化之后才可以使用,而int变量不需要3 Integer实际是对象的引用,当new一个Integer时,实际上是生成一个指针指向此对象;而int则是直接存储数据值4 Integer的默认值是null,int的默认值是0延伸关于Integer和i...

2018-08-19 14:58:38 3552

转载 String/StringBuffer/StringBuilder 心得

1 String (1) String的创建机理由于String在Java世界中创建的过于频繁,Java为了避免在一个系统中产生大量的String对象,引入了字符串常量池。其运行机制是:创建一个字符串式,首先检查池中是否有值相同的字符串对象,如果有则不需要创建直接从池中查找到的对象引用;如果没有则新建字符串对象,返回对象引用,并将新创建的对象放入池中。但是,通过new方法创建的String...

2018-08-17 21:36:25 1326 1

翻译 强引用 软引用 弱引用 幻象引用

在Java语言中,除了基本数据类型外,其他的都是指向各类对象的对象引用,Java中根据其生命周期的长短,将引用分为四类。 1  强引用特点:我们平常典型编码 Object obj=new Object() 中的obj就是强引用。通过关键字new创建的对象所关联的引用就是强引用。当JVM内存不足时,JVM宁愿抛出OutofMemoryError运行时错误(OOM),使程序异常终止,也不会...

2018-08-17 20:12:17 59

转载 NoClassDefFoundError和ClassNOtFoundException两种异常

文章转载于 https://blog.csdn.net/wdw131409/article/details/78316919NoClassDefFoundError是一个错误(Error),而ClassNOtFoundException是一个异常,在Java中错误和异常是有区别的,我们可以从异常中恢复程序但却不应该尝试从错误中恢复程序。ClassNotFoundException的产生原因...

2018-08-17 19:17:15 394

原创 Exception和Error有什么区别?

    在Java程序设计语言中,异常对象都是派生于Throwable类的一个实例。如果在Java中内置的异常类不能够满足需求,用户可以创建自己的异常类。   所有的异常都是从Throwable类继承而来,但在下一层立即分解为两个分支,Error和Exception。  Error类层次结构描述了Java运行时系统的内部错误和资源耗尽错误。应用程序不应该抛出这种类型的对象。如果出现了这样的...

2018-08-17 19:07:01 81

转载 Java36讲笔记——谈谈你对Java平台的理解

第一讲 谈谈你对Java平台的理解转载于 https://blog.csdn.net/u013015065/article/details/80227892Java本身是一种面向对象语言,最显著特征有两个方面,一个是非常容易获得跨平台能力,还有就是GC,Java通过垃圾收集器回收分配内存。JRE就是Java运行环境,包含了JVM和Java类库,以及一些模块。JDK可以看作是JRE的...

2018-08-17 15:55:17 76

转载 红黑树的高度

     在复习红黑树的特性时,产生了这样的一个疑问,红黑树的高度是多少呢?在Java8,HashMap所使用的拉链法散列表中,如果储存元素的键值与原来储存元素的键值发生了Hash冲突,如果val值不一样,会将该元素存放在红黑树的数据结构中。    红黑树查找一个元素所需要的时间最坏是2lgN,插入一个元素最坏情况所需要的时间是2lgN,查找命中所需要的平均时间是lgN,插入一个元素所需要的平...

2018-08-14 21:41:07 3285

原创 排序算法之--快速排序

    快速排序是一种分治的排序算法,它将一个数组分为两个子数组,将两部分独立的进行排序。快速排序和归并排序是互补的,归并排序将数组分成两个子数组分别排序,并将有序的子数组归并以将整个数组排序;而快速排序将数组排序的方式是当两个子数组都有序时整个数组都自然有序了。在归并排序中一个数组被分为两半,在快速排序中,切分的位置取决于数组的内容。  下面直接上代码:  public clas...

2018-08-12 20:38:39 75

原创 排序算法之--归并排序

    归并排序就是将两个有序的而数组归并成一个更大的有序数组。归并排序的特点是它可以保证任意长度为N的数组排序所需的时间和N*logN成正比;它的主要缺点是它所需要的额外空间也和长度成正比。此外归并排序也是一种很稳定的算法。不管传入的数组顺序怎么么样,它的事件复杂度都是N*logN。   下面直接放上代码:package sort;public class MergeSort{...

2018-08-12 20:09:30 42

原创 排序算法之--插入排序

    插入排序和选择排序一样,当前索引左边的元素都是有序的。但是它们最终的位置还是不确定。为了给最小元素空出位置,它们可能会被移动。但是当前索引到达最右边的时候,整个排序就完成了。    和选择排序不一样的是,插入排序取决于输入中元素的初始顺序。例如,对一个很大的且其中元素已经有序的数组进行排序会比对随机顺序的数组或者是逆序数组进行排序要快得多。以下是算法实现。  public c...

2018-08-12 17:39:05 77

原创 排序算法之--选择排序

为了准备秋招 从今天开始复习数据结构。排序是数据结构最为重要的一部分,计算机系统都实现了各种排序算法以供系统和用户使用。   选择排序的核心思想是这样的,先找到数组中最小的一个元素,和数组的第一个元素交换位置,其次在剩下的数组中找到最小的元素,把它和位于数组第二位的元素交换位置。如此往复,知道将整个数组都进行了排序。这种排序方法叫做选择排序。以下是算法实现。  public clas...

2018-08-12 17:22:09 52

转载 HttpClient 4.5.2版本设置连接超时时间-CloseableHttpClient设置Timeout

HttpClient  4.5版本设置连接超时时间-CloseableHttpClient设置Timeout(区别于4.3.2)HttpClient升级到4.5版本后,API有很多变化,HttpClient 4之后,API一直没有太稳定,我感觉4.5版本抽象后,很多API应该快稳定了。       使用HttpClient,一般都需要设置连接超时时间和获取数据超时时间。这两个参数很重要,目...

2018-08-06 16:58:07 694

原创 windows 下配置redis 让其他主机访问本机的redis数据

在做一个分布式项目的时候,redis不使用 ip 127.0.0.1 启动的时候一直报错。即使使用本机的地址也会报错。然后自己去网上找了一些资料都没有解决。网上一些资料又说改配置文件 把 redis-windows-conf 里面的 protected-mode设置为 no(原本的值是yes)这些方法都使用过了但是还是没有解决问题。java程序启动,读取redis配置文件然后,连接redis数...

2018-07-28 23:08:23 4933 1

转载 redis 源码分析

Redis源码剖析--quicklist2018年07月027日 10:16:47转载于 https://blog.csdn.net/harleylau/article/details/80534159quicklist概述上一节中,我们有说到Redis中的列表对象在版本3.2之前,列表底层的编码是 ziplist 和 linkedlist 实现的, 但是在版本3.2之后,重新引入...

2018-07-27 10:32:59 65

转载 关于distinct 和group by的去重逻辑浅析

转载:https://www.cnblogs.com/yangfeizbj/p/5446516.html在数据库操作中,我们常常遇到需要将数据去重计数的工作。例如:表A,列colACABCDAB 结果就是一共出现4个不同的字母A、B、C、D即结果为4大体上我们可以选择count(distinct col)的方法和group+count的方法。...

2018-07-19 10:23:06 98

转载 招商银行笔试题 公司年会

转载于:https://blog.csdn.net/zhui_xiuge/article/details/79867984某公司年会上,组织人员安排了一个小游戏来调节气氛。游戏规则如下:N个人参与游戏,站成一排来抢工作人抛来的M个小玩偶。为了增加游戏的趣味和难度,规则规定,参与游戏的人抢到的礼物不能比左右两边的人多两个或以上,否则会受到一定的惩罚。游戏结束时拥有玩偶最多的人将获得一份大奖。...

2018-07-18 21:55:16 1745

原创 leetcode --- 不同路径

题目描述: 一个机器人位于一个 m x n 网格的左上角 (起始点在下图中标记为“Start” )。  机器人每次只能向下或者向右移动一步。机器人试图达到网格的右下角(在下图中标记为“Finish”)。问总共有多少条不同的路径?解题思路:1 动态规划创建一个二维数组 dp[m][n] 代表从网格的左上角达到网格右下角的不同路径数。dp[m][n]=dp[m-1][n]+dp[m][n-1];pac...

2018-07-14 16:38:58 235

原创 解决使用idea中数据库中文乱码

首先我们在idea中写入一个sql文件,创建我们的数据库,注意在创建完表结构后,一定要设置表的编码格式为UTF-8,CREATE DATABASE IF NOT EXISTS widen;DROP TABLE IF EXISTS `phone`;CREATE TABLE `phone` (`id` varchar(30) CHARACTER SET armscii8 NOT NULL COMMEN...

2018-06-28 21:15:56 3613

原创 Java中的等待通知/机制

等待/通知机制是任意的java对象都具备的。因为这些方法都定义在所有对象的超类java.lang.Object方法上。等待/通知 的相关方法wait()方法:调用该方法的线程进入waiting状态,只有等待另外线程的通知或被中断才会返回,调用wait()方法之后,会释放对象的锁。notify()通知一个对象上等待的线程,使其wait()方法上返回,而返回的前提是获得了该对象的锁。notifyAll...

2018-05-27 11:28:21 2750

原创 Dijkstra算法

做金山WPS笔试的时候遇到了一些最短路径的变形题,于是自己重新复习一遍Dijkstra算法。这也是我第一次主动自己写算法详解。首先要先定义好图中的每个边。// 代表着从v-w的一条边public class DirectedEdge{ private int v;private int w;private double weight;//v 代表着一条边的出度点,w代表着一条边的入度点...

2018-05-26 23:59:50 101

转载 KMP算法详解 (转载)

最近在刷题的时候遇到了KMP 算法的一些题目,回想起来自己关于数据结构和算法的知识内容都已经忘了。于是打算重新复习一遍。就从KMP算法开始吧。因为自己水平还不够,也讲不清楚。于是就从网上转载了两篇博文。原文链接 https://blog.csdn.net/v_JULY_v/article/details/6545192出处 http://blog.csdn.net/v_JULY_v 。KMP 构建...

2018-05-23 12:59:32 51

原创 使用java实现一个简单的抓取安居客租房信息的爬虫

 最近,实验室的师兄马上就要毕业,要在工作的附近租个房子。于是自己就抱着玩一下的心态去安居客上爬取租房信息。首先我是用的是Jsoup来分析html网页,从中获得我们所需要的数据。在得到这些数据之后,再将这些数据导入到我们本地的excel表格中,这里我使用了网上的一个开源工具包xxl-excel很好用。接下来我们就可以开始动手爬取网页信息了。首先打开安居客的网页。先在网站上初步刷选。我使用的是谷歌浏...

2018-05-22 23:12:38 2238

空空如也

空空如也

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