自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

团子

考研还是找工作?

  • 博客(43)
  • 资源 (3)
  • 收藏
  • 关注

原创 云服务器搭建solr伪集群

工具+版本 editplus64+SSH远程工具 zookeeper-3.4.12 solr-4.10.3 jdk版本1.7 Tomcat7 首先,云服务器上防火墙是默认关闭状态,所以出现链接拒绝问题请尝试设置安全组。(那么那些要求你将防火墙关闭的博客可以尝试将端口放在安全组中。)如下,这个是我购买腾讯云服务器设置的部分安全组。上面的图无关紧要哈,...

2018-10-08 15:35:47 353

原创 JAVA源码系列-Hashtable

前言是的,你没看错Hashtable确实怎么写的,在Java中,基本上是不可能出现这种不符合命名规范的Hashtable。我也很纳闷Java是如何容忍这个问题的存在呢?Jajaja...上一篇文章中我们阐述了HashMap的数据结构和扩容机制。今天我们来一起学习常与HashMap一同提起的Hashtable——这个长的像怪胎一样的类的源码。 * 概述  * Hashtable存储的内容是...

2018-08-01 11:59:02 231

原创 JAVA源码系列-HashMap

 前言 HashMap是Java最常用的集合之一,现今HashMap、Hashtable、ConcurrentHashMap三大集合已经成为面试常考的考点。这三个集合都是以key-value的键值对形式存储元素。除了三者之间的区别和联系。我们更要弄懂每个集合的存储方式、扩容机制、和并发处理。在Java中的源码是非常多的,两三千行代码不可能都记住,所以我们要深刻理解源代码,尽量不要死记硬背。...

2018-07-31 14:57:22 272

原创 JAVA源码系列-LinkedList

前言上一篇文章我们提到了ArrayList(点击打开链接),ArrayList是一种基于Object数组的数据结构。而今天我们提到的LinkedList是一种基于双向链表的数据结构。也就是说LinkedList具有与双向链表相同的属性。ArrayList、LinkedList、Vector三者在笔试面试中是重要考点(当然HashMap、Hashtable、ConcurrentHashMap三者...

2018-07-30 11:53:33 147

原创 JAVA源码系列-ArrayList

前言ArrayList是一个基于数组的数据结构,Java1.8版本加入了Lambda匿名内部类的新特性。而ArrayList实现了java.util.function的接口,进而为了支持Lambda表达式的应用。对于集合类来说,集合内部扩容机制,数据结构,并发场景,锁机制是我们日常所要面对思考的。废话不多说,现在我们来解析一下ArrayList的源码。 * 概述:  * List接口可调...

2018-07-29 21:42:26 289

转载 JAVA研发工程师学习之路

持续更新,敬请期待 最近更新时间 2018.07.09 最近事情太多了,功课都落下了 (高并发,请自行学习www.javazhiyin.com内的学习资料,我这里在不在高并发专题上添加链接了)1.计算机基础:1.1数据结构基础主要学习:1.向量,链表,栈,队列和堆,词典。熟悉2.树,二叉搜索树。熟悉3.图,有向图,无向图,基本概念4.二叉搜索A,B,C类熟练,9大排序熟悉...

2018-05-16 15:48:36 1274

转载 Twitter的分布式自增ID算法snowflake (Java版)

Twitter的分布式自增ID算法snowflake (Java版)转自 https://www.cnblogs.com/relucent/p/4955340.html概述  分布式系统中,有一些需要使用全局唯一ID的场景,这种时候为了防止ID冲突可以使用36位的UUID,但是UUID有一些缺点,首先他相对比较长,另外UUID一般是无序的。  有些时候我们希望能使用一种简单一些的ID,并且...

2019-11-20 21:26:33 254

原创 C#语言入门学习笔记(一)

前言  C# 是专为公共语言基础结构(CLI)设计的。CLI 由可执行代码和运行时环境组成,允许在不同的计算机平台和体系结构上使用各种高级语言。虽然 C# 的构想十分接近于传统高级语言 C 和 C++,是一门面向对象的编程语言,但是它与 Java 非常相似,有许多强大的编程功能,因此得到广大程序员的青睐。下面列出 C# 一些重要的功能:布尔条件(Boolean Cond...

2019-10-12 09:41:45 450

转载 dubbo服务调用超时问题

dubbo在调用服务不成功时,默认是会重试两次的。这样在服务端的处理时间超过了设定的超时时间时,就会有重复请求,比如在发邮件时,可能就会发出多份重复邮件,执行注册请求时,就会插入多条重复的注册数据,那么怎么解决超时问题呢?如下1.对于核心的服务中心,去除dubbo超时重试机制,并重新评估设置超时时间。2.业务处理代码必须放在服务端,客户端只做参数验证和服务调用,不涉及业务流程处理全局配...

2019-01-30 11:27:07 1836

转载 Base64编码探究

1.什么是Base64Base64是一种基于64个可打印字符来表示二进制数据的编码方式,是从二进制数据到字符的过程。原则上,计算机中所有内容都是二进制形式存储的,所以所有内容(包括文本、影音、图片等)都可以用base64来表示。2.Base64编码原理Base64编码之所以称为Base64,是因为其使用64个字符来对任意数据进行编码,同理有Base32、Base16编码。标准Base6...

2018-11-12 17:11:06 211

原创 堆排序算法

package com.Sort;/** * * @author NullPointer * */public class Heap { public static int[] newHeap(int[] array, int start,int end) { int current = start; int leftChild = 2*current+1; int ...

2018-08-09 11:22:42 102

原创 Spring MVC执行流程

最近在整理笔记,将难以理解问题消化吸收。形成自己的知识体系。这是一个过程,希望我付出的能收到应有的回报。不多说了,直接上图。网上Spring MVC的执行流程的详细图有很多,大家最好自己画一遍。这样印象能够深刻。最后祝大家校招找到自己心仪的公司。 ...

2018-07-27 14:32:00 344

原创 MyBatis总结

好久都没有更新文章了,不是我变了,而是真的真的有点费劲了。掌握一门技术,远远要比使用这门技术要难得多。秋招要开始了,各位小伙伴们准备的怎么样了?现我奉献一下自己的MyBatis的总结,觉得少了什么就私聊我,谢谢赏脸! ...

2018-07-24 17:10:13 132

原创 深入理解Java虚拟机总结

2018-07-06 17:08:00 217 2

原创 Java并发学习

同步VS异步同步和异步通常用来形容一次方法调用。同步方法调用一开始,调用者必须等待被调用的方法结束后,调用者后面的代码才能执行。而异步调用,指的是,调用者不用管被调用方法是否完成,都会继续执行后面的代码,当被调用的方法完成后会通知调用者。比如,在超时购物,如果一件物品没了,你得等仓库人员跟你调货,直到仓库人员跟你把货物送过来,你才能继续去收银台付款,这就类似同步调用。而异步调用了,就像网购,你在网...

2018-06-22 22:01:40 120

原创 深入理解Java虚拟机——虚拟机类加载机制

前言:Java虚拟机会把描述类的数据从Class文件加载到内存,并对数据进行校验、转换解析和初始化,最终形成可以被虚拟机直接使用的Java类型,这就是虚拟机的类加载机制。如图所示,类的生命周期。而类加载的全过程包括加载、验证、准备、解析、初始化。在这里不在赘述,类加载器:(判断两个类是否相等,只有在这两个类由同一个类加载器加载的前提下才有意义。)从Java虚拟机的角度讲:有两种类加载器。一种是启动...

2018-06-20 14:19:48 364

原创 Java快排算法

public class QuickSort { public static void quickSortHelp(int[] arr) { quickSort(arr,0, arr.length-1); } public static void quickSort(int[] arr,int low, int high) { if(low<high) { int par...

2018-06-15 17:44:24 3881

原创 深入理解JVM——java回收算法、收集器原理

垃圾收集算法标记-清除:顾名思义被标记的对象都会在GC过程中被清除,会产生大量的磁盘会产生大量的磁盘碎片空间复制:牺牲一半堆空间,将存活对象复制到另一半堆空间标记-整理:被标记GC的GC,存活的挨排站好分代收集垃圾收集器现在对HotSpot虚拟机包含的所有收集器进行总结。图中展示了7种不同的收集器,如果两个收集器之间存在连线,就说明它们可以搭配使用。虚拟机所处的区域,则表示它是属于新生代还是老年代...

2018-06-09 17:52:33 266

原创 hiernate——插入中文数据失败

今天用别人的电脑建了个hibernate的小demo,出了点状况。插入中文数据失败,具体信息如下:Hibernate: select max(id) from perfackHibernate: insert into perfack (username, password, age, id) values (?, ?, ?, ?)六月 08, 2018 11:34:05 下午 org.hib...

2018-06-08 23:59:32 460

原创 hibernate——实现简单的增、删、改、查

HQL(Hibernate Query Language)是完全面对对象的查询语句,查询功能强大,具备继承、多态和关联等特性。Query是Hibernate的查询接口,用于从数据存储源查询对象及控制执行查询的过程,Query包装了一个HQL语句。hibernate5中 org.hibernate.Query 被 org.hibernate.query.Query 替代。创建dao层接口实现简单的增...

2018-06-07 14:00:42 725

原创 hibernate——配置文件之自动建表

使用hibernate自动建表时需要注意的是hibernate不会去创建数据库,所以数据库的创建要手动去完成。创建数据库后就可以通过实体类由hibernate自动去创建数据库表了。<!--hibernate根据实体自动生成数据库表 --> <property name="hibernate.hbm2ddl.auto">update</property>...

2018-06-07 13:43:26 691

原创 hibernate——重写equal方法和hashCode方法

对Java而言要识别两个对象是否为同一对象有两种方式 1.内存地址识别(“==”号识别)。 2.根据equals()、hashCode()中的定义识别。在hibernate中,如果在同一session中根据相同查询所得到的相同记录,则它们会有相同的内存地址。但是如果是不同的session中查询的相同记录,它们的内存地址就会不同。因此,使用“==”来比较两条记录是否代表数据库中的同一记录是不可行的。...

2018-06-07 13:40:23 412

原创 hibernate——单例模式的Session

getCurrentSession()获得的session的好处。 (1)currentSession和当前线程绑定。(2)currentSession在事务提交后自动关闭。需要在 hibernate.cfg.xml 中添加的配置<property name="hibernate.current_session_context_class">thread</property&gt...

2018-06-07 13:37:13 250

原创 hibernate——通过ThreadLocal维护线程

为什么使用TreadLocal来实现? 当使用ThreadLocal维护变量时,ThreadLocal为每个使用该变量的线程提供独立的变量副本,所以每一个线程都可以独立地改变自己的副本,而不会影响其它线程所对应的副本。 具体实现如下: 创建com.util.HibernateUtil.javapackage com.util;import org.hibernate.Session;impo...

2018-06-07 13:29:05 369

原创 深入理解JVM——Java的四种引用级别

深入理解JVM——Java的四种引用级别前言首先,请深刻理解引用计数法和可达性分析算法,详情请参阅点击打开链接。HotSpot采取了可达性分析算法用来判断对象是否被能被GC,无论是引用计算法还是可达性分析算法都是判断对象是否存在引用来判断对象是否存活。如果reference类型的数据中存储的数值代表的是另外一块内存的起始地址,就称这块内存代表着一个引用。为了丰富的描述对象与对象之间的关系,更为了实...

2018-06-04 18:46:16 1998

原创 深入理解JVM——引用计数法和可达性分析算法(理解)

引言JVM中的堆和方法区主要用来存放对象(方法区中也储存了一些静态变量和全局变量等信息),那么我们要使用GC算法对其进行回收时首先要考虑的就是该对象是否应该被回收。即判断该对象是否还有其他的引用或者关联使得该对象处于存活状态,我们需要将不在存活状态的对象标记出,以便GC回收。引用计数法在对象头处维护一个counter,每增加一次对该对象的引用计数器自加,如果对该对象的引用失联,则计数器自减。当co...

2018-06-01 18:09:22 10689 2

原创 @SuppressWarnings("unused")

忽略掉那些被定义但未被使用且无法访问的变量

2018-05-28 21:31:00 600

原创 一图一表辨析Set、List(笔试面试)

SetList特性无序、唯一有序、可重复 子类HashSetTreeSet子类VectorArrayListLinkedList 实现方式哈希表红黑树实现方式数组实现(与ArrayList类似)数组实现(是基于索引的动态数组数据结构,获得数据的时间复杂度为O(1))双向链表    安全性线程安全(需要更大的系统开销)线程不安全线程不安全 特性hashCode和equal方法自然排序和比较排序特性查...

2018-05-28 13:20:42 324

原创 操作系统——进程调度算法理解

调度算法分类:1. 批处理2. 交互式3. 实时调度算法的目标:所有系统:公平、策略强制执行、平衡批处理系统:吞吐量、周转时间、CPU利用率交互式:响应时间、均衡性实时系统:满足截止时间、可预测性批处理系统中的调度1. 先到先服务(FCFS):在所有调度算法中,最简单的是非抢占式的FCFS算法。 算法原理: 算法优点:易于理解且实现简单,只需要一个队列(FIFO),且相当公平 算法缺点:比较有利于...

2018-05-25 16:24:07 1069

转载 vi使用方法详细介绍

vi编辑器是所有Unix及Linux系统下标准的编辑器,它的强大不逊色于任何最新的文本编辑器,这里只是简单地介绍一下它的用法和一小部分指令。由于对Unix及Linux系统的任何版本,vi编辑器是完全相同的,因此您可以在其他任何介绍vi的地方进一步了解它。Vi也是Linux中最基本的文本编辑器,学会它后,您将在Linux的世界里畅行无阻。 1、vi的基本概念   基本上vi可以分为三种状态,分别是命...

2018-05-22 10:59:50 162

原创 ARP(地址解析协议)和RARP(逆地址解析协议)详解

ARP协议(地址解析协议)首先,每个主机都会在自己ARP缓冲区中建立一个ARP列表,用来表示IP地址与Mac地址之间的映射关系。当源主机要发送数据时,先检查ARP列表中是否含有对应IP地址的目的主机的Mac地址。如果有,则发送。如果没有这则向该网段的所有主机发送ARP数据包,该包含有:该主机的IP地址、该主机的Mac地址、目的主机的IP地址。当主机接收到ARP数据包时,会检查ARP数据包中的目的主...

2018-05-21 15:31:46 2688

原创 HashMap、Hashtable、ConcurrentHashMap详细解答

前言:最近碰到了好多关于HashMap、Hashtable区别和练习题,小弟不才,从网上摘抄理解并作出如下总结。对于HashMap、Hashtable、ConcurrentHashMap的原理进行理解。HashMap、Hashtable、ConcurrentHashMap联系无论是HashMap、还是Hashtable、亦或是ConcurrentHashMap在内存中都是一个Entry的单项链表(...

2018-05-17 00:23:47 358

原创 Eclipse导入源码及Javadoc

eclipse这款IDE集成开发工具深受广大开发人员的喜爱。但是由于软件的英文版,对小白来说从事编程开发有不小的障碍。作者在此以导入hibernate-core-5.x.Final的源码及Javadoc为例,详细阐述。如有错误,敬请谅解。登录官网http://hibernate.org/下载相应版本hibernate将下载好的源码和hibernate-core-5.x.Final(请解压缩)2.打...

2018-05-16 01:14:25 802

转载 Eclipse进行断点调试程序

Java Eclipse进行断点调试如何调试Java程序?大家最开始学习Java,都会觉得IDE调试好高端有木有,其实很简单了。下文会尽量简单直观的教会你在Eclipse中调试,其他的IDE调试步骤也是类似的。1.在你觉得有错的地方设置断点。在代码行数前,点击右键,注意是右键,然后选择Toggle Breakpoint。你可能会问,我如何知道在哪儿放置断点?如果对这个问题完全没有感觉,你完全可以多...

2018-05-15 23:10:55 2716

原创 三次握手与四次挥手解读

三次握手:首先,客户端向服务器发送syn(syn=x),并进入SYN_SEND状态,等待服务器确认。然后服务器确认客户端的syn

2018-05-15 16:53:48 217

翻译 2018校招实习生觅蜂笔试题

一、选择题 1.对某二叉树进行先序遍历的结果为ABDEFCGH,中序遍历的结果为DBFEAGCH,则后序遍历的结果是( )。 A.DBFEACGH B.BDEFAGCH C.BDFECHGA D.DFEBGHCA 2.在双向链表中指针p的结点前插入一个指针q的结点操作是( )。 A.p->Llink=q;q->Rlink=p;p->Llink->Rli...

2018-05-14 19:07:12 384

原创 hibernate初步建立与实现

1.新建web工程2.引入jar包,放置在lib文件夹下3.建立实体测试类Student(ID,name,age,gender)public class Student { private int ID; private String name; private String gender; private int age; public int getID() { return I...

2018-05-08 00:27:34 244

转载 一条进程的栈区、堆区、数据区和代码区在内存中的映射

    1>栈区:主要用来存放局部变量, 传递参数, 存放函数的返回地址。.esp 始终指向栈顶, 栈中的数据越多, esp的值越小。    2>堆区:用于存放动态分配的对象, 当你使用 malloc和new 等进行分配时,所得到的空间就在堆中。动态分配得到的内存区域附带有分配信息, 所以你  能够 free和delete它们。    3>数据区:全局,静态和常量是分配在数据区中...

2018-05-04 00:56:13 211

原创 日常刷题之删除公共字符

链接:https://www.nowcoder.com/questionTerminal/f0db4c36573d459cae44ac90b90c6212来源:牛客网输入两个字符串,从第一字符串中删除第二个字符串中所有的字符。例如,输入"They are students."和"aeiou",则删除之后的第一个字符串变成”Thy r stdnts.”输入描述:每个测试输入包含2个字符串输出描述:输...

2018-05-03 20:08:46 217

原创 OSI各分层及作用、TCP/IP分层

OSI分为物理层、数据链路层、网络层、传输层、会话层、表现层、应用层共七层。1.物理层:通过媒介传输比特,确定机械和电气规范。(比特bit)2.数据链路层:将比特组装成帧和点对点的传递。(帧frame)3.网络层:负责数据包从源到宿的传递和网际互联。(包packet)4.传输层:提供端对端的可靠的报文传递和错误恢复。(段seqment)5.会话层:会话的创建,管理和销毁。(会话协议数据单元SPDU...

2018-03-31 14:18:45 2562

基于spring+springMVC+MyBatis框架整合的jar

只供学习和参考,

2018-05-14

基于Spring+SpringMVC+MyBatis框架的网上商城管理系统

本资源只供学习和参考,如上传文档有错误请联系我 概要:本系统主要实现的功能有:国际化,照片回显,spring IOC容器使用,数据库表的增删改查的功能,spring拦截器。

2018-05-14

Pingendo 4.0

实在对不起,本以为可以免费共享的。没想到这个平台会要钱。这样,我放在网盘里共享了。比较好用的一款UI编辑器,可以修改HTML和可视化编辑。缺点也是有很多的,比如不能加入样式表,只能后定义、模板太少等。希望能帮到你。https://pan.baidu.com/s/10BnUAyfTuWIfc53NnEBhLg 密码:indc

2018-03-31

空空如也

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

TA关注的人

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