自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 用Semaphore写一个多线程的限制资源获取

package shenqi.proxy;import java.util.concurrent.ExecutorService;import java.util.concurrent.Executors;import java.util.concurrent.Semaphore;/** * Created by shenqi on 18/5/14. */public cla...

2018-06-02 16:11:52 326

原创 写一个非阻塞nio模型

package shenqi.socket;/** * Created by shenqi on 18/6/2. */import java.io.IOException;import java.io.InputStream;import java.net.InetSocketAddress;import java.net.Socket;import java.nio.Byte...

2018-06-02 16:07:18 194

原创 写一个传统阻塞模型

package shenqi.socket;import java.io.IOException;import java.io.InputStream;import java.net.ServerSocket;import java.net.Socket;/** * Created by shenqi on 18/6/2. */public class TraditionalS...

2018-06-02 15:24:16 211

原创 自己写一个自定义类加载器

package shenqi;import java.io.*;/** * Created by shenqi on 18/6/2. */public class MyClassLoader extends ClassLoader{ private String path; //类加载路径 private String classLoadName; //类加载器名称...

2018-06-02 14:48:37 944

原创 个人java基础知识点踩过的坑

1:一般方法传递时候,只有基本数据类型和String才会传递副本(值传递),其他的类型是按引用的传递的(引用传递)。2:①无论如何,Integer与new Integer不会相等。不会经历拆箱过程,   ②两个都是非new出来的Integer,如果数在-128到127之间,则是true,否则为false   java在编译Integer i2 = 128的时候,被翻译成-> Int

2018-01-29 11:31:31 615

原创 插入排序和希尔排序

/** * @author shenqi * @date 2018/1/15. *//** * 插入排序 * 每步将一个待排序的记录,按其顺序码大小插入到前面已经排序的字序列的合适位置(从后向前找到合适位置后),直到全部插入排序完为止。 * 从第一个元素开始,该元素可以认为已经被排序 * 取出下一个元素,在已经排序的元素序列中从后向前扫描 * 如果该元素(已排序)大于新元素,将

2018-01-15 17:01:49 123

原创 冒泡排序和快速排序

/** * @author shenqi * @date 2018/1/10 * 冒泡排序 * 比较相邻的元素。如果第一个比第二个大,就交换他们两个。 * 对每一对相邻元素作同样的工作,从开始第一对到结尾的最后一对。在这一点,最后的元素应该会是最大的数。 * 针对所有的元素重复以上的步骤,除了最后一个。 * 持续每次对越来越少的元素重复上面的步骤,直到没有任何一对数字需要比较。 *

2018-01-10 18:01:09 258

原创 常见设计模式分析

/** * @author shenqi * @date 2018/1/10. *//** * 单例模式 * 保证一个类仅有一个实例,并提供一个访问它的全局访问点。 * 单例模式 懒汉式 */public class Singleton{    private static Singleton singleton = null;    p

2018-01-10 15:19:19 233 1

原创 sql性能优化

1.not in 强烈推荐不要使用,因为不能应用表的索引,推荐用not exists方案代替。2.0 改为a> 0 or a'' 改为a>''。3.IS NULL 或者IS NOT NULL 一般是不会应用索引的。a is not null 改为a > 0或者a > '' 。4.一个整数型字段A,A>2 ,尽量用A>= 3。5.like '% 5400%'不会用索引, 而like'

2017-12-25 15:39:56 132

原创 My sql 操作(不常用)和分析汇总

1:在user表中第一个位置增加num字段,并设置num字段为主键。      alter table user add num int(11) PAIMARY KEY FIRST2: 在user表的phone字段后增加address字段     alter table add address VARCHAR(20) NOT NULL DEFAULT "" AFTER phone3

2017-12-18 10:57:11 921

原创 GC对象与类的加载机制

1,可以作为GC roots的对象包含以下几种:   1:虚拟机栈(栈帧中的本地变量表)中引用 的对象。    2:方法区中类静态属性引用的对象。    3:方法区中常量引用的对象。    4:本地方法栈中引用的对象。2,可以被回收的类需满足的条件     1:该类所有的实例都已经被回收,也就是java堆中不存在该类的任何实例。     2:加载该类的ClassLoad

2017-11-29 16:35:08 210

原创 伟大的git 操作命令总结

1 git init 初始化一个git仓库2 添加文件到git仓库,分两步。  第一步:git add ,可多次使用,添加多个文件  第二部:git commit 提交(实际上就是把暂存区的所有内容提交到当前分支)3 git status 查看仓库当前状态4 git diff 查看修改内容5 HEAD 指向的版本是当前版本  git reset --hard com

2017-09-07 14:10:13 335 1

原创 HTML标签总结

1 body 元素定义文档的主体。body 元素包含文档的所有内容(比如文本、超链接、图像、表格和列表等等。)2 标签定义一个按钮。在 button 元素内部,您可以放置内容,比如文本或图像。这是该元素与使用 input 元素创建的按钮之间的不同之处。 控件 与 相比,提供了更为强大的功能和更丰富的内容。 与 标签之间的所有内容都是按钮的内容,其中包括任何可接受的正文内容,

2017-09-05 10:42:24 496

原创 java反射机制及应用分析

反射是java程序开发语言的特质之一,它允许运行中的java程序获取自身的信息,并且可以操作类或对象的内部属性。当用户使用一个类的时候,应该先知道这个类,而后通过这个类产生实例化对象,但是“反”指的是通过对象找到类。通过反射,我们可以在运行时获得程序或者程序中每一个类型的成员和成员的值。java反射框架主要提供以下功能:1 在运行时判断任意一个对象所属的类2在运行时构造任意一个

2017-07-14 16:59:28 176

原创 servlet实现原理

Servlet 是在服务器上运行的小程序Servlet 的主要功能在于交互式浏览和修改数据,生成动态WEB内容。这个过程为:1.客户端发送请求到服务端;2.服务器将请求信息发送到Servlet;3.Servlet生成响应内容并将其传给服务器,响应内容动态生成,通常取决于客户端的请求;4.服务器将响应返回给客户端Servlet 生命周期1.客户端请求该Servlet;

2017-07-12 10:38:42 653

原创 sql 易错点 和简单练习

1 方括号 []  通配符用来指定一个字符集,它必须匹配通配符的一个字符。eg :查询名字里面有S或者Q的人   select A from B where A.name like '[SQ]%'2 常用文本处理函数LOWER()  将字符串转换为小写UPPER()将字符串转换为大写3 sql聚集函数 AVG()返回某列的平均值COUNT()返回某列的行数

2017-07-11 10:15:58 569

原创 linux 常用命令

1改变档案拥有者 chownchown bin install.log  将 install.log的拥有者改为bin这个账号chown root:root  install.log 将 install.log的拥有者改回root:2改变所属群组  chgrpchgrp users intsall.log 将install.log的群组改为users (users必须在当前

2017-07-07 11:20:18 309

空空如也

空空如也

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

TA关注的人

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