
javase
文章平均质量分 54
程序员小董
毕业后先在腾讯做了近3年的kv存储引擎开发
之后在阿里做了3年多互动游戏的开发
展开
-
个人知识记录
手写系列1 手写spring mvchttps://blog.youkuaiyun.com/u010199866/article/details/816362592 手写springhttps://blog.youkuaiyun.com/dlf123321/article/details/399940713 手写dbutilshttps://blog.youkuaiyun.com/dlf123321/articl...原创 2020-04-12 18:29:45 · 40 阅读 · 0 评论 -
命令行执行java程序
先进到class目录,用-classpath指定需要的jar包即可。bash里面不用加分号。原创 2023-12-11 21:58:02 · 342 阅读 · 0 评论 -
关于SafeThreadLocal的一点思考
它的作用呢?很简单就是能做到在同一个线程内的不同业务模块内保存一组信息,让各个模块都能修改&读取。想想如果没有她,只能使用参数传递的方法,从头传到尾,多麻烦。OK它的作用与好处说完了,那它还有一个很多的问题就是,每次使用完都必须清理。为什么?我线程结束了,即使不清理,哪能怎么样呢?是的,你的线程是结束了,但是我们的应用一般都是跑在容器里面的(例如Tomcat),而容器里面的服务线程是从线程池里面取的,它是可以服用的。那如果不清理,造成的影响就是。原创 2023-11-08 10:53:54 · 45 阅读 · 0 评论 -
动态生成某个类的子类,并写入新的字段
public class ClassUtil { /** * 生成src类的子类,然后以newParName为字段把add写入新的子类 */ public static Object covert(String newParName,Object src, Object add){ try { HashMap<String,Class<?>> addMap = new HashMap<>...原创 2020-08-13 17:07:50 · 845 阅读 · 0 评论 -
HashMap与ConCurrentHashMap
大家都知道HashMap是线程不安全的,那么到底是怎么个不安全法呢?例如下面这个例子package algorithms;import java.util.HashMap;import java.util.Map;import java.util.concurrent.ConcurrentHashMap;public class TestHashMap { publi原创 2016-07-24 15:28:37 · 1455 阅读 · 0 评论 -
tomcat整合apache
历时4个多小时,终于把tomcat与apache整合起来了。中间出了各种各样的问题,现记录一下,也希望能对后来者有点帮助。背景apache与tomcat的区别联系大家都知道:tomcat能处理jsp页面,也能处理html页面apache只能处理静态资源,如html页面,图片,js等等,而且apache处理html页面比tomcat处理html的速度快。那为了提升原创 2015-08-09 19:08:32 · 2061 阅读 · 0 评论 -
spring4泛型初探----一个小例子
泛型的出现,是为了让代码更规整。例如Set set=new HashSet<>();set.add("abc");set.add(123); //编译出错如果不用泛型,那set里面放什么都可以,放什么都可以倒不是问题,问题在于你取出来的时候,都用object吗。我们看下面的代码:package com.bufoon.store;public interface St原创 2015-09-24 11:15:24 · 840 阅读 · 0 评论 -
HttpClient4登陆有验证码的网站
其实就这个问题,本来是很简单的,我自己花了近两个下午才搞定,现在记录一下。也希望能帮助后来的朋友。先说httpclient 操蛋的httpclent! 为什么说操蛋呢,因为从httpclient3到httpclient4,有很大的变化,而且我自己水平也不够,在jar包上出了很多问题(例如我不知道还有个httpcore)。 jar如下:为了验证我们最原创 2016-03-02 15:01:41 · 3169 阅读 · 0 评论 -
记一个逻辑bug
1 从数据库中找出一个学生能选的毕业设计(毕设的select or not 字段表示本题目是否已经被选 此时就按照其值为n来查询)2 用户选择某个毕设后,先更新毕设表(select or not 字段置y 默认为n,选择后就是y),同时在新的一张表中记录某个用户选了某个题目最后发现多个学生选了同一个毕设最后发现了一个逻辑bug我本来以为经过第一步后的原创 2015-12-08 15:02:37 · 2336 阅读 · 0 评论 -
转换xml格式的短信记录
2 0 1 18712345678 2015-11-17 00:04:40 晚安 妞 1 0 1 18712345678 2015-11-17 00:04:01原创 2015-11-18 13:47:56 · 4881 阅读 · 0 评论 -
获取泛型类的真实参数
获得某个类的泛型package com;import java.lang.reflect.ParameterizedType;import java.lang.reflect.Type;import org.springframework.core.ResolvableType;interface Service2 {}class ABService2 implement原创 2015-09-21 14:18:38 · 2987 阅读 · 0 评论 -
接口与抽象类
抽象类描述了一系列"东西"的本质。 接口描述一系列"东西"应该具有的功能,或者说接口就是一组契约。原创 2014-10-09 22:40:35 · 1663 阅读 · 9 评论 -
ArrayList,Vector,HashMap,HashSet,HashTable之间的区别与联系
总的架构图:看上面的框架图,先抓住它的主干,即Collection和Map。1 Collection是一个接口,是高度抽象出来的集合,它包含了集合的基本操作和属性。 Collection包含了List和Set两大分支。 (01) List是一个有序的队列,每一个元素都有它的索引。第一个元素的索引值是0。 List的实现类有Lin原创 2014-11-05 16:07:34 · 2422 阅读 · 0 评论 -
说说nio----1
既然说到了nio,就得谈以下几个问题为什么会出现新io,"旧io"有什么问题吗?ok,一步一步来,先给大家看几个例子:1单线程的服务器程序import java.net.*;import java.io.*;public class SocketServiceTest{ public static void main(String[] args) throws Ex原创 2015-07-22 21:43:15 · 1500 阅读 · 0 评论 -
说说nio2
既然说到了nio,就得谈以下几个问题为什么会出现新io,"旧io"有什么问题吗?ok,一步一步来,先给大家看几个例子:1单线程的服务器程序import java.net.*;import java.io.*;public class SocketServiceTest{ public static void main(String[] args) throws Ex原创 2014-10-13 16:18:30 · 2456 阅读 · 1 评论 -
几种高并发下写的处理策略
假定存在这样一种情况多个用户对数据库进行写,我们的业务逻辑规定,每个用户只能写一次,大部分用户也只发一次请求。public void write(Uers u){ // do something}但是有一种情况(1%的情况下吧)的就是有的用户会发两次甚至更多次写请求(因为数据库限制,我们不方便在主键上做文章)。如果这个特殊的用户发送的两次请求时间间隔比较大,那就简单了,再每次写入的时候,写去原创 2017-02-27 09:52:23 · 6478 阅读 · 1 评论 -
synchronized修饰变量
关于synchronized的初步使用,大家看拙作http://blog.youkuaiyun.com/dlf123321/article/details/42373451即可不过今天,有个朋友问我,如果用synchronized修饰一个类的成员变量会怎么样?咱们看下面的代码package thread;public class ThreadTestffd { pr原创 2016-12-08 11:50:14 · 28724 阅读 · 5 评论 -
关于Implicit super constructor is undefined. Must explicitly invoke another constructor
public class FF {}class SS extends FF{ public SS (int a,int b){ //do something }}上面的代码没有问题。public class FF { public FF(int a){}}class SS extends FF{}对于上面的代码,编译是会出问题的,出什么问题?Imp原创 2016-11-30 18:18:06 · 23794 阅读 · 14 评论 -
谈谈final
用final修饰类 这种情况很简单,这个类不能被继承。它"绝后"了。用final修饰方法这里可以分两种情况。用final修饰private方法。其实也不能这么说,英文私有方法也被编译器隐式修饰为final,这意味着private final void f()和private void f()并无区别。用final修饰public方法。 那么此方法不能被重写。 用fi原创 2015-03-20 16:19:45 · 1680 阅读 · 1 评论 -
关于用户分级查看的解决方案
如果有这样一个系统用户分三级,我们可以类别为中央,省级首长,市级领导河北省省长发的消息,自己可以看到,中央可以看到,但是他的下属石家庄的市长,保定市市长就看不到,同时他的平级伙伴陕西省省长也看不到他发的信息。西安市市长发的消息,自己可以看到,陕西省省长也可以看到,中央的领导也能看到,但是他的平级例如保定市,安康市都看不到说白了就是一个多叉树结构,节点只能看到自己的消息,和自原创 2016-09-26 15:03:25 · 1328 阅读 · 0 评论 -
关于数组的基本知识
很惭愧,用java4年多了,一直都没有记住java数组的初始化方式,之前都是用arraylist的,现在记录一下基础知识package toyprogram;/** * This class is used for ... * * @author dlf(460795365@qq.com) * @version 1.0, 2016年9月13日 下午3:39:42原创 2016-09-13 16:23:41 · 663 阅读 · 0 评论 -
探究java接口中的变量与方法
关于变量java接口里的变量都是默认 pubic static final的为啥?public 接口得能被所有对象调用static 这个变量是属于接口本身,而不是实现了接口的对象的 具体来说 至于这个问题,是和Java语言的本身机制有关。我们知道Java不支持多继承,但是一个类可是现实多个接口。我们假设有两个接口A和B,而类C实现了接口A和B。假设,此时,A和B中都有一个变量N原创 2016-09-13 11:43:12 · 2999 阅读 · 0 评论 -
apache tomcat集群
今天花了大概两个小时完成了tomcat与apache的集群。现记录一下,也希望能帮助后来者。建议看这篇博客前,先阅读一下鄙人拙作 tomcat整合apache 看完那个后,再进行集群,就很快了。和之前 tomcat整合apache中的一样,这次集群用的软件版本如下:jdk 7 ,tomcat 6.0.44,apache2.2.4,mod_jk的版本是1.2.26。原创 2015-08-10 14:55:20 · 1211 阅读 · 2 评论 -
PageContext ServletContext ServletConfig辨析
上面三个东西都是什么关系呀?先看图注意几点1 GenericServlet有两个init方法#2 GenericServlet既实现了ServletConfig方法,它自己由依赖一个ServletConfig(就是说,GenericServlet中有一个成员变量的类型是ServletConfig)pageContext是在jsp中用的,可以获得页面范围内原创 2015-10-17 10:16:36 · 1834 阅读 · 0 评论 -
关于synchronized
如果用synchronized修饰一个类成员方法A,那么就不会出现下面的情况:同时多个线程访问这个类的A方法。当然如果还有一个方法B,它没有被synchronized修饰,那么A方法与B方法是可以并行执行的。如下:package thread;public class SyncTest implements Runnable { public synchroniz原创 2015-01-03 22:46:49 · 2160 阅读 · 0 评论 -
深入理解ThreadLocal
ThreadLocal是一个和线程安全相关的类。一个非线程安全的例子在我们讲述它之前,我们先看一个例子。package thread;public class NotSafeThread implements Runnable{ private int a=10; public void run() { // TODO Auto-gen原创 2015-01-08 21:39:06 · 1766 阅读 · 3 评论 -
一段有意思的代码
package ex01.pyrmont;public class Son extends Father { public void a(){ System.out.println("a from son"); super.a(); } public void b(){ System.out.println("b原创 2014-11-27 09:34:12 · 1078 阅读 · 0 评论 -
java的io库用到的装饰模式是如何体现的?
概论java的io包下大概有85个类,真复杂。其实不然这些类又可以分为以下四个部分。 输入流 输出流字节流 InputStream OutputStream字符流 Reader Writer 简单来说,这四部分的对应都是很原创 2014-11-21 14:16:41 · 2293 阅读 · 3 评论 -
关于hashCode与equals
首先我得说明,在我们自己写得类中你可以复写这两个方法,此时从语法的角度来说,他们没关系。 在object中public native int hashCode();public boolean equals(Object obj) { return (this == obj);}两个准则在java集合中判定两个对象是否相等需要以下两步;1 hashCode原创 2014-10-19 22:55:24 · 1034 阅读 · 0 评论 -
UML类图的简单梳理
依赖关系 DependencyClass Car{}Class Person{ int a; static int b public void buy(Car c){ int c; .... }}一个类是另一个类的某个方法的参数,或局部变量,或静态方法调用等。另外变量分两种:局部变量,成员变量。在某个方法中定义的变量为局原创 2014-11-19 18:13:05 · 1554 阅读 · 2 评论 -
equal与== 个人笔记
首先看看下面的图,看清楚了图咱们要说的知识点也就说说清楚了一半int a=10;String b="ss";String c=new String("kkk");Person d=new Person("dlf");String e=new String("kkk");String f="ss";jvm中有堆heap,栈stack,常量池constant原创 2014-10-10 15:35:49 · 907 阅读 · 0 评论 -
聊聊javaMail
今天闲着无事 看了看用java发送邮件的相关知识所用jar包如下:原创 2014-09-09 10:42:25 · 859 阅读 · 0 评论 -
关于字符的一点问题
本来想自己写 但是看到以下两篇文章 实在是没有再写的冲动了 qiangl转载 2014-09-13 18:56:00 · 680 阅读 · 0 评论 -
根据isbn获得图书的所有信息
几点说明1这个豆瓣的apihttps://api.douban.com/v2/book/isbn/:9787549208869可以以json的形式返回书籍的所有信息2最开始的时候是我自己写的用代码模拟http请求(参考的是http://www.jb51.net/article/47070.htm)但不知道为何会有乱码问题 有乱码不怕 怕的就是并不是所有的中文都是乱码原创 2014-12-20 00:15:49 · 9314 阅读 · 5 评论 -
tomcat中的线程问题2
最近在看线程的有关知识,碰到一个小问题,目前还没有解决,现记录下来。如果在我们自己写的servlet里有成员变量,因为多线程的访问就会出现一些线程问题。这点大家都知道,我们看下面的例子。public class ConcurrentTest extends HttpServlet { PrintWriter output; @Override protected原创 2015-01-03 21:26:09 · 1486 阅读 · 1 评论 -
java缓存系统
第一版package cache;import java.util.HashMap;import java.util.Map;public class Cache1 { private Map map=new HashMap(); private static Cache1 cache1=new Cache1(); private Cache1(){ } publ原创 2015-08-06 10:44:38 · 1439 阅读 · 1 评论 -
jsp中的路径与跳转
在jsp(serlvet)中,页面的"变换"有两种方式,第一重定向,第二转发:先说重定向,它的调用方式是这样的response.sendredirect("uri");特点就是 转换后的uri地址会在地址栏显示不过之前的request里的数据不能传送给新的页面#重定向就是,让服务器再发一个请求#如下图,浏览器看到response里面的sendredirect,就会重新发一个请求原创 2015-08-04 20:39:36 · 2758 阅读 · 0 评论 -
java实现多线程下载
本篇博客可认为是对 使用java实现http多线程下载 一文的再次解读。首先,从宏观来说java实现多线程下载这个功能的实现由以下几部分组成:1 建立多个线程去分别下载文件的一部分。2 将多个线程下载的文件(还在内存中),写入硬盘中的一个文件。3 断点续传GET /Path/FileName HTTP/1.0 Host: www.server.com:8原创 2015-03-09 21:09:33 · 990 阅读 · 0 评论 -
聊聊String
当我们最开始学习java的时候,老师会告诉我们字符串的比较需要用equals();真的是这样的吗?我们看看下面的例子public class TestString{ public static void main(String[] args) { String a="ab1"; String b="ab1"; Strin原创 2015-03-24 11:15:46 · 643 阅读 · 0 评论 -
HashMap二三事
先看看hashmap在整个Collection中的位置HashMap中存储数据的结构是 /** * The table, resized as necessary. Length MUST Always be a power of two. */ transient Entry[] table;上面的英文就不用说了。原来基础的存储结构式En原创 2014-10-24 13:47:40 · 1094 阅读 · 0 评论