自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 java工程实现http请求接口

1.实现代码 package com.home; import com.alibaba.fastjson.JSON; import com.alibaba.fastjson.JSONObject; import com.sun.net.httpserver.HttpExchange; import com.sun.net.httpserver.HttpHandler; import com...

2019-10-03 15:13:32 1146

转载 重写了equals()为什么要重写hashCode()方法

java中任何一个类都会继承Object类,在Object的方法中就有,equals()方法和hashCode()方法,因此任何一个类都默认有这两个方法。在默认情况下。equals与”==”相等。即比较两个引用对象是否为一个对象。 Object ob1 = new Object(); Object ob2 = new Object(); Syste

2017-09-18 10:51:45 394

转载 用链表实现栈(Java版)

用链表实现栈 一、算法的思想 用链表实现栈的先进后出,实现栈的push,pop,peak方法。主要就是利用链表的头结点作为栈顶的元素。 1.当要push的时候,相当于新new一个头结点,然后让新节点指向单链表的头结点。以新节点作为单链表的头节点即可。 2.当要pop的时候,只要将链表的头指针后移到它的next,将next作为新的头结点即可 3.当要peak的时候,只要

2017-09-17 15:49:18 472

转载 常见的HTTP状态码

2开头 (请求成功)表示成功处理了请求的状态代码。 200   (成功)  服务器已成功处理了请求。 通常,这表示服务器提供了请求的网页。  201   (已创建)  请求成功并且服务器创建了新的资源。  202   (已接受)  服务器已接受请求,但尚未处理。  203   (非授权信息)  服务器已成功处理了请求,但返回的信息可能来自另一来源。  204   (无内容)  服务器

2017-09-06 11:26:41 207

转载 java 的HashMap底层数据结构

HashMap也是我们使用非常多的Collection,它是基于哈希表的 Map 接口的实现,以key-value的形式存在。在HashMap中,key-value总是会当做一个整体来处理,系统会根据hash算法来来计算key-value的存储位置,我们总是可以通过key快速地存、取value。下面就来分析HashMap的存取。 一、定义       HashMap实现了Map接口,继

2017-08-21 15:57:04 224

原创 Spring

框架优点: 1.轻量级的容器框架没有侵入性 2.使用IoC容器更加容易组合对象直接间关系,降低耦合 3.Aop可以更加容易的进行功能扩展 4.创建对象默认是单例的,不需要再使用单例模式进行处理   缺点:业务功能依赖spring特有的功能,依赖于spring环境。   Ioc和 DI:依赖注入(Dependecy Injection)和控制反转(Inversion of Contr

2017-08-18 23:44:31 169

原创 进程和线程的区别

1.一个进程对应一个程序的执行,而一个线程则是进程执行过程中的一个单独的执行序列,一个进程可以包含多个线程。线程有时候也被称为轻量级进程. 2.进程是资源分配的最小单位,线程是程序执行的最小单位。 3.进程有自己的独立地址空间所以一个进程死掉并不会对另外一个进程造成影响,而线程是共享进程中的数据的,使用相同的地址空间, 4.线程之间的通信更方便,同一进程下的线程共享全局变量、静态变量等数

2017-08-18 23:29:32 160

原创 java GC

1.判断对象已死: (1)引用计数算法:给对象添加一个引用计数器,每当有一个地方引用它,计数器值加一;当引用失效,值减一,任何时刻值为0时对象就是不可能再被使用的。这算法有缺陷很难解决对象之间相互循环引用的问题。 (2)根搜索算法:通过GC Roots的对象作为起始点开始向下搜索,所走的路径为引用链,当一个对象到GC Roots没有任何引用链相连时,对象不可用。 2.刚刚说的GC Root,

2017-08-10 16:46:42 222

转载 快速排序

前言           有没有既不浪费空间又可以快一点的排序算法呢?那就是“快速排序”啦!光听这个名字是不是就觉得很高端呢。      假设我们现在对“6 1 2 7 9 3 4 5 10 8”这个10个数进行排序。首先在这个序列中随便找一个数作为基准数(不要被这个名词吓到了,就是一个用来参照的数,待会你就知道它用来做啥的了)。为了方便,就让第一个数6作为基准数吧。接下来,需要将这个

2017-08-10 11:39:39 128

原创 java内存区域

(1)方法区用于存储已被虚拟机加载的类信息、常量、静态变量、即时编译器编译后的代码等数据。永久代。线程共享。 (2)堆存放对象实例。被称为“GC堆”。从内存回收角度看,收集器基本采用分代收集算法,所以JAVA堆还可细分为:新生代和老年代;Eden空间、From Survivor空间、To Survivor空间。线程共享。 (3)虚拟机栈线程私有,用于存储局部表量表、操作栈、动态链接、方法出口等

2017-08-10 10:38:36 137

原创 二分查找

public static int binarySearch(Integer[] srcArray, int des) {     //定义初始最小、最大索引     int low = 0;     int high = srcArray.length - 1;     //确保不会出现重复查找,越界     while ((low 1)           

2017-08-09 13:31:21 142

转载 HashMap常见面试问题总结

“你用过HashMap吗?” “什么是HashMap?你为什么用到它?” 几乎每个人都会回答“是的”,然后回答HashMap的一些特性,譬如HashMap可以接受null键值和值,而Hashtable则不能;HashMap是非synchronized;HashMap很快;以及HashMap储存的是键值对等等。这显示出你已经用过HashMap,而且对它相当的熟悉。但是面试官来个急转直下,从此刻

2017-08-09 09:49:57 301

转载 String、StringBuffer和StringBuilder

一.区别 String:不可变类。一旦被创建,不能修改。任何对String的改变都会引发新的String对象的生成 StringBuffer:可变类。任何对它所指代的字符串的改变都不会产生新的对象。可以通过toString()方法转变为String。线程安全 StringBuilder:可变类。线程不安全 备注:StringBuilder是JDK1.5以后加入的,没

2017-08-09 09:41:25 162

转载 JSP/Servlet 工作原理

Servlet Servlet 没有 main 方法,不能够独立的运行,它的运行需要容器的支持,Tomcat 是最常用的 JSP/Servlet 容器。 Servlet 运行在 Servlet 容器中,并由容器管理从创建到销毁的整个过程。 对于用户到达Servlet的请求,Servlet容器会创建特定于这个请求的ServletRequest对象和ServletResponse对象,然后调用S

2017-05-04 10:57:14 186

原创 基于java平台的与无线远程测控终端的串口通信

package ChuanKouTongXin; import java.io.BufferedInputStream; import java.io.BufferedOutputStream; import java.io.IOException; import java.io.InputStream; import java.io.OutputStream; //impor

2016-12-22 16:02:19 769

空空如也

空空如也

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

TA关注的人

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