
开发
文章平均质量分 52
Nick_dxf
努力奋斗,实现人生价值.
展开
-
Mybatis 使用插件分析SQL
Mybatis 使用插件分析SQLMybatis 插件开发是mybatis的高级功能,使用mybatis的插件开发,主要拦截的是mybtais中的4大对象:(1)ParameterHandler:处理SQL的参数对象(2)ResultSetHandler:处理SQL的返回结果集(3)StatementHandler:数据库的处理对象,用于执行SQL语句(4)Executor:MyBatis的执行器,用于执行增删改查操作我们知道mybatis的执行器有三种:SIMPLE: 默认的执行器, 对每条原创 2021-02-06 15:02:50 · 483 阅读 · 0 评论 -
JVM类加载机制 --由调用链使用字节码增强技术引出的类加载
类加载的7个阶段(生命周期): 加载 生成二进制字节流,将静态结构转化成方法去的运行时数据结构 生.class对象,作为方法区这个类的各种数据的访问入口 JVM ClassLoader 在这个阶段 验证 文件格式验证 :验证是否符合规范 ,文本头,主次版本验证 元数据验证:保证描述符合java语言的要求 类是否有父类 是否继承了不允许被继承的类(...原创 2019-12-30 18:00:42 · 363 阅读 · 0 评论 -
Elasticsearch 学习笔记
基于Apache Lucene 被认为是迄今为止最好的,最先进的,性能最好的,功能最全的搜索引擎库 Elasticsearch : 分布式的实时的文件存储,每个字段都被索引并可以被搜索。 分布式的实时分析搜索引擎 可动态扩展,处理PB级别的数据 Java API 提供两种内置的客户端 node client :节点客户端 以无数据的节点的身份加入到集群中,知道集群的位置,能...原创 2019-12-30 17:56:17 · 189 阅读 · 0 评论 -
系统架构师知识点:Nginx负载均衡和反向代理
负载均衡:多台服务器以对称的方式组成一个服务器集合,每台服务器的地位都是等价的,都可以单独的提供完整的服务。通过某种特定的负载分担技术,将外部的请求均匀的分配到某台服务器上。解决的大量并发访问的问题。常见的web负载均衡 手动选择:主站上提供不同的入口,让用户自己选择 DNS轮询方式:域名注册商支持:一个域名对应多个A(address地址),DNS按照记录的A的顺序,随机分配请求到不同的...原创 2019-12-30 17:48:42 · 248 阅读 · 1 评论 -
java解析xml的几种方式
第一种:DOM。DOM的全称是Document Object Model,也即文档对象模型。在应用程序中,基于DOM的XML分析器将一个XML文档转换成一个对象模型的集合(通常称DOM树),应用程序正是通过对这个对象模型的操作,来实现对XML文档数据的操作。通过DOM接口,应用程序可以在任何时候访问XML文档中的任何一部分数据,因此,这种利用DOM接口的机制也被称作随机访问机制。转载 2014-07-27 21:21:54 · 697 阅读 · 0 评论 -
自然排序和强排序
这里所说到的Java中的排序并不是指插入排序、希尔排序、归并排序等具体的排序算法。而是指执行这些排序算法时,比较两个对象“大小”的比较操作。我们很容易理解整型的 i>j 这样的比较方式,但当我们对多个对象进行排序时,如何比较两个对象的“大小”呢?这样的比较 stu1 > stu2 显然是不可能通过编译的。为了解决如何比较两个对象大小的问题,JDK提供了两个接口 java.lang.Compar转载 2014-12-22 21:09:09 · 2101 阅读 · 0 评论 -
分支/合并框架 ForkJoin
分支/合并框架 是以递归的方式将可以并行的任务切割成更小的任务,然后将每个任务的结果进行合并来生成最终的结果。它是ExecutorService接口的实现,子任务在ForkJoinPool中执行。要把任务提交到ForkJoinPool 可以通过继承两个类:一个是没有返回结果的 RecursiveAction,另一个RecursiveTask<R>有返回结果,并且R是返回结果的...原创 2018-02-22 16:21:54 · 656 阅读 · 0 评论 -
守护线程与用户线程
用户线程:我们平常创建的普通线程。守护线程:用来服务于用户线程;不需要上层逻辑介入。通过一个栗子来区分一下它们与JVM的关系。class DaemonRunner implements Runnable { @Override public void run() { while (true) { for (int i = 1; i <= 100...转载 2018-02-24 11:13:50 · 409 阅读 · 0 评论 -
CompletableFuture 初识
CompletableFuture类实现了CompletionStage和Future接口。Future是Java 5添加的类,用来描述一个异步计算的结果,但是获取一个结果时方法较少,要么通过轮询isDone,确认完成后,调用get()获取值,要么调用get()设置一个超时时间。但是这个get()方法会阻塞住调用线程,这种阻塞的方式显然和我们的异步编程的初衷相违背。为了解决这个问题,JDK吸收了g...转载 2018-02-24 16:35:41 · 281 阅读 · 0 评论 -
Apache Phoenix 删除亿级数据心得
Phoenix最早是saleforce的一个开源项目,后来成为Apache基金的顶级项目。Phoenix是构建在HBase上的一个SQL层,能让我们用标准的JDBC APIs而不是HBase客户端APIs来创建表,插入数据和对HBase数据进行查询。Phoenix完全使用Java编写,作为HBase内嵌的JDBC驱动。Phoenix查询引擎会将SQL查询转换为一个或多个HBase扫描,并编...原创 2019-03-06 21:31:04 · 3853 阅读 · 2 评论 -
Eclipse 安装FindBugs插件
FindBugs 是由马里兰大学提供的一款开源 Java静态代码分析工具。FindBugs通过检查类文件或 JAR文件,将字节码与一组缺陷模式进行对比从而发现代码缺陷,完成静态代码分析。FindBugs既提供可视化 UI 界面,同时也可以作为Eclipse插件使用。文本将主要使用将 FindBugs作为 Eclipse插件。在安装成功后会在 eclipse中增加 FindBugs perspe转载 2014-05-23 11:34:09 · 736 阅读 · 0 评论 -
JVM内存模型及垃圾收集算法
1.根据Java虚拟机规范,JVM将内存划分为:New(年轻代)Tenured(年老代)永久代(Perm) 其中New和Tenured属于堆内存,堆内存会从JVM启动参数(-Xmx:3G)指定的内存中分配,Perm不属于堆内存,有虚拟机直接分配,但可以通过-XX:PermSize -XX:MaxPermSize 等参数调整其大小。年轻代(New):年轻代用来存放JVM刚分转载 2014-05-12 16:51:55 · 678 阅读 · 0 评论 -
java加密用户登录密码--不用MD5实现
看到一个用java实现的简单的加密,主要是可以进行相应的解密,方便实现,在实现一些小的项目的时候可以进行应用.主要的思路,首先给定一个字符串,随机取两个字符作为加密元,和输入的密码组成一个新的字符串,头两个字符作为种子,从要加密的字符串第一个字符开始要加密字符在给定字符串中的位置+前2个字符在在给定字符串中的位置+前1个字符在在给定字符串中的字符位置 然后%在给定字符串的长度,对应的位置的字符就是原创 2014-03-11 17:23:36 · 2786 阅读 · 0 评论 -
无效3字节utf - 8的第3字节Invalid byte 3 of 3-byte UTF-8 sequence. Nested exception: Invalid byte 3 of 3-byte
此问题出现在 页面写入中文时出现的错误,解决的方法一个是将中文删除,另一个办法就是在后台转换一下,将中文转换为utf-8的字符集.String test = new String();(用这个声明一个String 有隐患,没有规定字符集,可能会导致错误的).String axxxx = new String("中文".getBytes("UTF-8"),"UTF-8"); 会抛出一个异原创 2014-03-10 15:33:44 · 1336 阅读 · 0 评论 -
java 单例模式的优化与扩展
单例模式主要的作用就是要控制某个类型的实例的数量是一个而且只有一个.实现单例模式主要有两种类型:一个是饿汉模式,一个是懒汉模式.饿汉模式初始化时就创建.懒汉模式当调用时在创建.这是大家都知道的了.所以不在赘述.这里主要讲一下单例的优化和扩展.懒汉模式是线程安全的,所以会降低访问速度.而且没一次访问都要进行判断.有没有一种方法进行优化.答案是肯定:用一种 叫 双重检查加锁的方法.实现的原理就是在第一原创 2014-04-01 17:31:44 · 896 阅读 · 0 评论 -
java--浅谈分割字符串的使用
提到分割字符串大家很容易xiang'da转载 2014-04-21 11:45:34 · 828 阅读 · 0 评论 -
webservices 服务器未能识别 HTTP 头 SOAPAction 的值:.
在用java发送给webservice服务器的时候报如下错误:AxisFaultfaultCode: {http://schemas.xmlsoap.org/soap/envelope/}ClientfaultSubcode: faultString: 服务器未能识别 HTTP 头 SOAPAction 的值: 。faultActor: faultNode: fault原创 2014-05-05 10:17:10 · 16501 阅读 · 1 评论 -
log4j配置祥解--(1)
第一步:加入log4j-1.2.8.jar到lib下。第二步:在CLASSPATH下建立log4j.properties。内容如下:1 log4j.rootCategory=INFO, stdout , R23 log4j.appender.stdout=org.apache.log4j.ConsoleAppender4 log4j.appender.s转载 2014-04-24 17:28:06 · 624 阅读 · 0 评论 -
log4j配置祥解--(3)高级使用
1.把FATAL级错误写入2000NT日志 2. WARN,ERROR,FATAL级错误发送email通知管理员 3.其他级别的错误直接在后台输出实验步骤: 输出到2000NT日志 1.把Log4j压缩包里的NTEventLogAppender.dll拷到WINNT/SYSTEM32目录下 2.写配置文件log4j.properties# 在2000系统日志输出 l转载 2014-04-24 17:38:10 · 736 阅读 · 0 评论 -
RandomAccess接口介绍
RandomAccess接口是List 实现所使用的标记接口,用来表明其支持快速(通常是固定时间)随机访问。此接口的主要目的是允许一般的算法更改其行为,从而在将其应用到随机或连续访问列表时能提供良好的性能。在对List特别的遍历算法中,要尽量来判断是属于RandomAccess(如ArrayList)还是SequenceAccess(如LinkedList),因为适合RandomAcces转载 2014-05-19 10:24:19 · 1092 阅读 · 0 评论 -
Myeclipse加载优化--工欲善其事必先利其器
现在myeclipse加载的时间越来越长,是在是sh原创 2014-05-12 16:47:42 · 582 阅读 · 0 评论 -
java用户密码加密小结
提到加密很多人都会第一时间想到MD5,MD5的全称是Message-Digest Algorithm 5(信息-摘要算法),转载 2014-03-11 15:53:46 · 14297 阅读 · 0 评论