- 博客(27)
- 收藏
- 关注
原创 spring自学笔记
Spring框架设计理念在Spring框架中,其最核心组件应属Beans,Spring-Beans模块是所有应用都必须使用的,它包含了访问配置文件、创建和管理Bean以及进行控制反转(IOC,Inversion of Control)、依赖注入(DI,Dependency Injection)操作相关的所有类。在IBM developerWorks一文中(https://www.ibm.com/developerworks/cn/java/j-lo-spring-principle/index.ht
2021-03-21 16:09:38 152 3
原创 对线程池的认识
说到线程,我想大家都不陌生,因为在开发时候或多或少都会用到线程,而通常创建线程有两种方式:1、继承Thread类 2、实现Runnable接口虽说这两种方式都可以创建出一个线程,不过它们之间还是有一点区别的,主要区别在于在多线程访问同一资源的情况下,用Runnable接口创建的线程可以处理同一资源,而用Thread类创建的线程则各自独立处理,各自拥有自己的资源。所以,在Java中...
2018-08-10 15:57:46 367
原创 Log4j和System.out.println
实习有一个多月了,突然发现好久都没有在项目见到System.out.println了,全部用logger.info,logger.error代替,于是请教了师傅们,总结如下:首先System.out日志打印不可控制、打印时间无法确定、不能添加过滤器、日志没有级别区分。在Log中可以根据需要添加一个自定义的过滤器,在成百上千条日志中轻松找到我们要想要的信息。 知识剖析Log4j有三个...
2018-07-25 15:23:54 3554 2
原创 JSF客户端使用手册
说明名词解释:注册中心(Registry Server):提供服务信息的注册订阅,配置管理,配置下发等功能。注册中心寻址服务(Index Server):简单的http的注册中心寻址。注册中心管理端(jsf.jd.com):管理端,用户可以登录管理自己的服务。服务(Interface):就是一个接口。服务提供者(Provider):启动一个监听端口,并发布服务。服务调用者(Consumer):连接...
2018-06-13 18:05:43 3795
原创 JSF配置
使用说明 元素及其属性 <jsf:registry> <jsf:server> <jsf:provider> <jsf:...
2018-06-13 18:05:25 3445
转载 Mybatis框架中jdbcType="DATE" 和 jdbcType="TIMESTAMP" 两种类型的区别
也算不上是Mybatis的bug,只能说是特性,本来就是这么设置的,在连接oracle数据库的时候,当jdbcType="DATE"类型时,返回的时间只有年月日(yyyy-MM-dd)的,当jdbcType=“TIMESTAMP”的时候,返回的时间是年月日和时分秒(yyyy-MM-dd HH:mm:ss),参考下图:以绑定时间和解绑时间为例:1.1当绑定时间的jdbcType=“DATE”,解绑...
2018-06-13 17:59:21 4653
原创 消息中间件JMQ客户端使用
1. JMQ客户端(目前版本2.1.5-SNAPSHOT)特性不依赖于第三方组件,只和Broker通信内置管理和性能采集协议较合理的超时时间设置批量发送和消费,消费者为拉模式支持两阶段事务支持业务ID顺序消费支持机房部署,就近发送和消费默认数据压缩,更快的性能支持流量分流控制2. Maven依赖2.1.Spring支持:<dependency> <groupId>com...
2018-06-11 11:26:24 3723
原创 对ES的初步了解
今天在公司开发的时候发现发现项目的pc端一直启动不起来,tomcat老显示:failed to get node info for [#transport#-1][ZB-PC08WCS1][inet[/192.168.202.229:9300]], disconnecting...org.elasticsearch.transport.ReceiveTimeoutTransportExceptio...
2018-05-25 18:34:52 1513
原创 JSF服务框架初识
京东的JSF1.是什么?JSF(杰夫)是一个高性能的服务框架,特性如下:可以进行高效RPC(远程过程)调用有高可用的注册中心,完备的容灾特性服务端口同时支持TCP与HTTP协议调用,支持跨语言调用支持msgpack、json等多种序列化格式,支持数据压缩提供黑白名单、负载均衡、provider动态分组、动态切换调用分组等服务治理功能提供对接口-方法的调用次数、平均耗时等在线监控报表功能兼容SAF协...
2018-05-23 18:50:36 8537
原创 HashMap源码解析
HashMap使用一个的数组来保存不同散列值的key以及相应的value。在jkd1.8中,对于相同hashcode形成的bucket,不再按照唯一的链表存储,而是根据bucket的大小,超过一定限制之后将链表转换为红黑树来存储Map.Entry<k,v>。这样,HashMap的内部数据结构就是数组+链表+红黑树。*jkd源码的版本为1.8.0_05类的结构:public class ...
2018-05-16 00:51:49 174
原创 i++线程安全问题
Q:i++是线程安全的吗?A:如果是局部变量,那么i++是线程安全。 如果是全局变量,那么i++不是线程安全的。理由:如果是局部变量,那么i++是线程安全:局部变量其他线程访问不到,所以根本不存在是否安全这个问题。 如果是全局变量,那么i++不是线程安全的:当它是全局变量时,所有线程都可以访问,那么,当有1000个线程同时执行i++操作时,i变量的副本拷贝到每个线程的线程栈,当同时有...
2018-04-26 00:40:33 2397
原创 一波京东面经
为自己攒人品京东一面40分钟自我介绍谈项目负责的模块SpringIOC AOP 以及两个动态代理区别maven打包的过程hashmap同步的几种方法ConcurrentHashmap怎么实现的同步?平时用什么数据结构?讲讲b+树,b+树的好处数据库里的乐观锁悲观锁,怎么写?对项目的优化(然后我就开始说数据库优化)redis数据类型,持久化方式,和mysql的区别jvm内存结构和内存模型垃圾收集器...
2018-04-26 00:35:37 472
原创 防止单例模式被破坏
总结了两种方法,如果还有别的方法的话,欢迎博友补充一、反射机制的引入来破坏单例模式下面是一个单例类,我们通过反射机制生成该类的一个实例public class Singleton { public static final Singleton INSTANCE = new Singleton(); private Singleton() { } public Sin...
2018-04-20 15:02:16 580
转载 初识装饰器模式
转自www.runoob.com/design-pattern/decorator-pattern.html装饰器模式装饰器模式(Decorator Pattern)允许向一个现有的对象添加新的功能,同时又不改变其结构。这种类型的设计模式属于结构型模式,它是作为现有的类的一个包装。这种模式创建了一个装饰类,用来包装原有的类,并在保持类方法签名完整性的前提下,提供了额外的功能。我们通过下面的实例来演...
2018-04-16 23:17:29 121
原创 八大排序之堆排序
堆排序法(直接选择排序的改进):将排序码k1,k2,k3,...,kn表示成一棵完全二叉树,然后从第n/2个排序码开妈筛选,使由该结点组成的子二叉树符合堆的定义,然后从第n/2-1个排序码重复刚才操作,直到第一个排序码止,这时候,该二叉树符合堆的定义,初始堆已经建立。 接着,可以按如下方法进行堆排序:将堆中第一个结点(二叉树根结点)和最后一个结点的数据进行交换(k1与kn),再将k1...
2018-04-16 00:53:04 277
转载 单例模式详解
单例模式单例模式(Singleton Pattern)是 Java 中最简单的设计模式之一。这种类型的设计模式属于创建型模式,它提供了一种创建对象的最佳方式。这种模式涉及到一个单一的类,该类负责创建自己的对象,同时确保只有单个对象被创建。这个类提供了一种访问其唯一的对象的方式,可以直接访问,不需要实例化该类的对象。注意: 1、单例类只能有一个实例。2、单例类必须自己创建自己的唯一实例。3、单例类必...
2018-04-15 17:42:03 142
原创 线程创建的三种方式
Java中创建线程主要有三种方式:一、继承Thread类创建线程类(1)定义Thread类的子类,并重写该类的run方法,该run方法的方法体就代表了线程要完成的任务。因此把run()方法称为执行体。(2)创建Thread子类的实例,即创建了线程对象。(3)调用线程对象的start()方法来启动该线程。[java] view plain copy print?00001. package com....
2018-04-13 00:30:31 311
原创 八大排序之希尔排序
package com.eight.paixu;/* * 希尔排序法:希尔排序(ShellSorting)又称为“缩小增量排序”。 * 该方法的基本思想是:先将整个待排元素序列分割成若干个子序列(由相隔某个“增量”的元素组成的)分别进行直接插入排序,待整个序列中的元素基本有序(增量足够小)时,再对全体元素进行一次直接插入排序。 * 希尔排序:分组交换的思想,先分组,后交换排序 属于交换...
2018-04-13 00:27:42 221
原创 八大排序之快速排序
package com.eight.paixu;/* * 快速排序:递归算法,将较大的一组换到后面去,较小的一组在前面,前面和后面的分别再递归调用 * 属于交换类排序 * 不稳定的排序算法 :如35512第一轮时前面的5和后面的2换位置,后面的5和1换位置,位置顺序被破坏 * 平均时间复杂度O(n*log2n) * 最坏时间复杂度O(n*n) ...
2018-04-13 00:26:55 162
原创 八大排序之选择排序
package com.eight.paixu;/* * 选择排序—简单选择排序(Simple Selection Sort) * * *在要排序的一组数中,选出最小(或者最大)的一个数与第1个位置的数交换;然后在剩下的数当中再找最小(或者最大)的与第2个位置的数交换,依次类推,直到第n-1个元素(倒数第二个数)和第n个元素(最后一个数)比较为止。 */public cl...
2018-04-13 00:25:09 139
原创 modCount到底是什么,有什么作用
今天和同学突然讨论到了modCount,有点懵逼,回来查看了源码,得出如下分析 发现这玩意只有在本数据结构对应迭代器中才使用,以HashMap为例:private abstract class HashIterator implements Iterator { Entry next; // next entry to return i
2018-01-10 10:30:35 1640 1
原创 redis基础命令
Redis基础命令:启动Redis服务src/redis-server或者src/redis-server redis.confsrc/redis-server redis.conf 1>log.log 2>errlog.log1为标准输出,2为错误输出将 Redis 作为Linux服务随机启动vi /etc/rc.local, 加入代码:/root/install/r
2018-01-09 01:03:44 212
原创 八大排序之归并排序
package com.eight.paixu;/* * * 归并算法:分而治之的思想 * 属于归并类排序 * 稳定的排序算法 * 平均时间复杂度O(n*log2n) * 最坏时间复杂度O(n*log2n) * 空间复杂度O(n) * n较大时适用 合并排序法(归并排序):合并排序法(MergeSorting)是外
2018-01-09 00:45:06 209
转载 linux下用tomcat部署java web项目的过程
在linux下用tomcat部署java web项目的过程与注意事项一.安装JDK到http://www.oracle.com/technetwork/java/javase/downloads/index.html下载Java SE 6 Update 27根据操作系统选择Linux x64 - RPM Installer或Linux x86 - RPM Installer下载jdk-
2018-01-07 02:07:53 309
原创 八大排序之直接插入排序
package com.eight.paixu;/* * 插入排序—直接插入排序(Straight Insertion Sort) * 直接插入排序:每一轮第i个元素跟前面的i-1个元素从后向前比较,一直比较到合适插入的位置 * 属于插入类排序 * 稳定的排序算法 * 平均时间复杂度O(n*n) * 最坏时间复杂度O(n*n) *
2018-01-06 01:22:55 171
原创 八大排序之冒泡排序
package com.eight.paixu;import java.util.Arrays;/* 冒泡排序 * 基本思想:在要排序的一组数中,对当前还未排好序的范围内的全部数,自上而下对相邻的两个数依次进行比较和调整,让较大的数往下沉,较小的往上冒。 * 即:每当两相邻的数比较后发现它们的排序与排序要求相反时,就将它们互换。 * * 冒泡排序:一趟一趟的比较,比较相邻
2018-01-06 01:19:21 179
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人