- 博客(45)
- 资源 (6)
- 收藏
- 关注
原创 机器学习入门心得
机器学习入门路线入行 java 程序员一年半,突然对ML方向产生了兴趣,花了2个月左右的时间学习了一下,算是初步有个入门; 恶补了一些基础数学知识,推到了一些ML模型,做了一些Kaggle比赛的实例,在此,从工程角度分享一下学习ML的心路历程机器学习本质个人感觉机器传统机器学习领域(不包括深度学习)实际上是一种 数学归纳法 的集合,其中按照流派应该分为两类,一种是基于线性回...
2018-02-17 21:48:32 629 1
原创 高性能中间件常用套路
高性能中间件常用套路高性能分布式中间件是微服务架构下必要的一环,支撑起千亿流量,中间件种类不同,常用分布式中间件 MQ ,缓存等,对于其实现高性能思路做个简单总结必备基础知识分析现有的成型中间件,需要补充一下基础知识TCP/IP 网络,三次握手四次挥手,网络拥塞控制,RecQ SendQ , linux内核层对于网络的实现原理CPU工作原理,上下文切换,线程流水线指令并行...
2018-02-14 21:29:41 2144
原创 JVM基础
对于JVM的了解是高级工程师必备的技能JVM基本结构 内存模型,7个区域(1.7,1.8常量池分离)每个区域具体作用栈针的存储内容每个线程,栈的独立性指令重排,流水线处理,内存屏障,小于256字节的数字,int类型,long类型,volatile关键字类加载机制—加载,验证,准备,解析,初始化(每一种过程做什么,static,fianl static分配变量,赋值)垃圾回收机制如何判
2017-10-07 11:41:27 598
原创 Zookeeper知识点
ZooKeeper作为J2EE体系内一款高性能协调器,广泛用于SOA等场景,需要简单了解ZK的一些关键特性分布式系统 CAP原则,不能同时满足,如何取舍一致性(Consistence) (等同于所有节点访问同一份最新的数据副本)可用性(Availability)(每次请求都能获取到非错的响应——但是不保证获取的数据为最新数据)分区容错性(Network partitioning)(以实际效
2017-10-07 11:40:49 436
原创 Redis知识点
Redis作为J2EE体系内一款常用的分布式缓存服务,具有高并发,高吞吐量,支持多种数据结构等特性,其工作原理在这里做一些简单的分析分布式一致性Raft协议 Raft协议包含的角色Leader:所有请求的处理者,Leader副本接受client的更新请求,本地处理后再同步至多个其他副本;Follower:请求的被动更新者,从Leader接受更新请求,然后写入本地日志文件Candidate:
2017-10-07 11:40:25 226
原创 Kafka知识点
消息队列是J2EE技术中常用的中间件,需要了解常用的消息队列实现方案与优缺点消息模型 push推模型:代表程序RabbitMq需要考虑客户端的消费能力客户端增加receive buffer,防止OOM对于事务处理支持的好消息状态维护在服务端实时性较好对服务端性能要求较高pull拉模型:Kafka无需考虑客户端的消费能力消息状态分别维护在客户端消费能力重点在于客户端Kafka
2017-10-07 11:39:59 334
原创 ReentrantLock实现原理
ReentrantLock实现原理ReentrantLock弥补了sychronized的不足,实现了对象的可重入锁等功能参考文献 https://my.oschina.net/andylucc/blog/651982什么是AQS?AQS是JDK1.5提供的一个基于FIFO等待队列实现的一个用于实现同步器的基础框架,这个基础框架的重要性可以这么说,JCU包里面几乎所有的有关锁、多线程并发以及
2017-10-07 11:37:24 268
原创 CyclicBarrier实现原理
CyclicBarrier原理CyclicBarrier是一个同步辅助类,它允许一组线程互相等待,直到所有线程都到达某个公共屏障点(也可以叫同步点),即相互等待的线程都完成调用await方法,所有被屏障拦截的线程才会继续运行await方法后面的程序。在涉及一组固定大小的线程的程序中,这些线程必须不时地互相等待,此时CyclicBarrier很有用。因为该屏障点在释放等待线程后可以重用,所以称它为循环
2017-10-07 11:37:05 1871
原创 ConcurrentLinkedQueue & CopyOnWriteArrayList
ConcurrentLinkedQueue支持高并发读写队列 实现方式是利用无锁操作 关键代码 public boolean offer(E e) { checkNotNull(e); //创建入队节点 final Node<E> newNode = new Node<E>(e); //t为tail节点,p为尾节点,默认相等,采用
2017-10-07 11:36:47 705
原创 AtomicInteger实现
无锁操作常见场景atomic包内的类经常使用无锁操作AtomicInteger是非常典型的一种 private static final Unsafe unsafe = Unsafe.getUnsafe(); private static final long valueOffset; static { try { valueOffset =
2017-10-07 11:36:24 217
原创 java并发编程简单分析
并发编程意义移动互联网的发展导致用户访问量持续增加,由于受到制作工艺的限制,当今的微电子行业发展趋势已经不能再遵循摩尔定律,更快速的刷新CPU性能,作为一名程序猿,就会绞尽脑汁去榨干硬件计算资源,今天我们就来简单分析一下JDK的并发编程实现原理JDK的并发包jdk为方便开发者,引入了一套相对完善并发编程体系 java.util.concurrent ,其大致结构如下这个图可以简单总结为以下结构模型
2017-10-07 11:36:01 235
原创 JVM知识点梳理
JVM内存模型1.java堆2.静态方法区3.JVM栈4.本地方法栈5.程序计数器6.堆外内存(直接内存)7.常量池垃圾回收垃圾回收算法 1.标记清除:实现简单,碎片化较多2.复制算法:吞吐量高,速度快3.标记压缩:有效率用堆空间,速度慢,与堆大小有关4.引用计数:提高搜索效率,有死循环垃圾收集器 1.Serial收集器,client模式下新生代2.Serial Ol
2017-10-07 11:31:35 291
原创 个人Kafka使用
1.kafka使用的场景及优缺点kafka和RabbitMQ的比较权威文章http://www.quora.com/What-are-the-differences-between-Apache-Kafka-and-RabbitMQ ==比较==:RabbitMq比kafka成熟,在可用性上,稳定性上,可靠性上,RabbitMq超过kafkaKafka设计的初衷就是处理日志的,可以
2017-02-09 23:28:56 278
原创 Spring MVC 关键点 理解
学习 Spring MVC 源码 理解1.工作流程了解跟踪了一下dispatch servlet的源码,结合这张图以及这篇博客分析了一下 http://www.cnblogs.com/davidwang456/p/4096530.html了解了 springMVC的整个工作流程2.参数传递还有一点就是记不住 关于springMVC 的返回值类型,String,ModelAndView;跟踪了一下源
2016-07-24 15:27:37 684
转载 DOCKER 容器CPU 配额控制
转载 http://www.open-open.com/lib/view/open1425565035056.html
2016-05-27 15:35:45 700
原创 SPRING与MYbatis的整合
Spirng整合Mybatisspring最重要的功能莫过于整合持久成框架,这里介绍下Spring与Mybatis的整合方式1.获取sqlsessionspring整合mybatis与单独使用mybatis一样,我们必须拿到mybatis的入口方法或者操作对象,sqlsession,对任何框架都是这样;我们使用Spring实现的sqlsessionfactory来获取mybatis的sqlsessi
2016-04-24 11:35:50 384
原创 Spring的AOP应用
Spring的AOP也是常用功能功能之一使用该功能使用AOP的功能仍然可以使用 注解与XML两种方式,这里我比较推荐xml方式配置,看着比较清晰,对于项目的配置文件,使用这种结构 将AOP的配置文件独立放置,然后使用一个xml文件引入;1.使用xml配置AOP执行 <aop:config> <aop:aspect id="audience" ref="audience">
2016-04-24 10:25:19 290
原创 Spring使用IOC注解
最近刚复习了下Spring的IOC与AOP相关应用,虽然之前一直在使用Spring,但是有些东西还是校不准,花时间好好看了一下Spring的IOCSpirng最常用的功能之一,这里主要记录一下常用的使用方法; Spring的使用包括两种,一种是注解方式,一种是XML文件配置方式;使用xml文件注册一个bean<bean id="txManager" class="org.springframe
2016-04-24 09:40:27 424
转载 Spring配置事务,关系,总结
原文转自 http://blog.csdn.net/u012815721/article/details/40184219?utm_source=tuicool&utm_medium=referral最常用的方法为使用声明式事务管理 (使用注解配置 ) 对需要管理事务的方法,添加注解@Transactionnal * @Transactionnal 可以加载类上面 或者 方法名上面 在appl
2016-04-20 11:17:38 258
转载 如何设置eclipse的代码补全
如果你用过Visual Studio的自动补全功能后,再来用eclipse的自动补全功能,相信大家会有些许失望。 但是eclipse其实是非常强大的,eclipse的自动补全没有VS那么好是因为eclipse的补全功能用的是默认设置。你只需要稍微修改一下就行了。 最简单的修改方式是:Windows——>Preferences——>Java–>Editor–>Content Asist,在Auto
2016-04-02 10:08:59 422
原创 动态规划(一)
动态规划算法第一节 初步认识动态规划算法,即将一个大问题分解为多个小问题,在许多小问题中找最优解动态规划算法通常基于一个递推公式及一个或多个初始状态。 当前子问题的解将由上一次子问题的解推出。使用动态规划来解题只需要多项式时间复杂度, 因此它比回溯法、暴力法等要快许多。动态规划也是面试笔试题中的一个考查重点,当阅读一个题目并且开始尝试解决它时,首先看一下它的限制。 如果要求在多项式时间内解决,那么
2016-02-25 21:13:24 390
原创 JAVA的Socket编程初步
1.服务器端启动ServerSocket 2.客户端使用Socket 3.客户端与服务器端使用流通信 4.服务器端启动多线程,accept函数为阻塞接收,将接收到的socket对象开辟新的线程处理程序结构 对应客户端程序,服务器端程序,线程处理程序package com.houlu.socket;import java.io.BufferedReader;import java.io.
2016-01-25 08:35:30 232
转载 反射详解
Java中重要的反射机制 http://www.cnblogs.com/rollenholt/archive/2011/09/02/2163758.html 转载
2016-01-21 09:24:28 205
原创 使用Struts完成上传
Struts集成上传功能 1.ActionForm 内定义上传文件格式为 Formfile,对应jsp文件内的input输入 域格式为file,定义form表单编码类型为enctype=”multipart/form-data 2.需要引入JAR包,commons-io http://commons.apache.org/proper/commons-io/download_io.cgi
2016-01-20 21:15:40 231
原创 Spring与Struts相集成
接着前一篇Spring+Hibernate完成后继续写,将Struts配置进Spring中将Struts集成入Spring中,需要使用Spring来创建Struts的Action对象,将Action的类交给Spring控制 Action的配置,注意,此处Action使用name标签,该标签名字与Struts文件中path标签名相同,为了创建代理<bean name="/user" class="
2016-01-14 11:29:41 465
转载 为什么要使用HibernateCallback
1.this.getSession() 是org.springframework.orm.hibernate3.support.HibernateDaoSupport 中的一个方法,它可以从当前事务或者一个新的事务获得一个hibernate session,需要程序维护session(手动关闭session)2.this.getHibernateTemplate().getSessionFactor
2016-01-12 19:58:35 1987
原创 使用SPRING+HIBERNATE 控制事务
使用Spring集成Hinernate按照从下向上方法建立 1.Hibernate对应的Dao层集成HibernateDaoSupport这个类,这个类是 Spring对Hibernate的集成,该类需要使用Spring向其注入sessionFactory代码如下getHibernateTemplate()注意利用回调的方法,匿名类对HibernateTemplate完成callback调用
2016-01-12 19:57:05 3846
原创 Struts+Hibernate常用工具类
建立相关工具包1.分页信息包:存储页面分页信息 2.Hibernate工具包:用于创建session 3.BeanFactory包:用于创建Bean分页信息中除了结果集以外,还要包含其他的一些索引信息,便于前台操作package com.houlu.drp.utils;import java.util.List;/** * 分页信息类 * @author Administrator * @
2016-01-11 20:03:05 212
原创 Struts+Hibernate 配置文件作用
配置文件建立1.引入Hibernate,Struts相关Jar包 2.拷贝hibernate.cfg.xml,struts-config.xml两个工作配置文件 3.分层如下 4.该版本的Bean实现利用BeanFactory完成,以后替换Springdao层:包含数据库相关操作 service层:负责业务逻辑,事务开启 web层:建立后台的action以及表单actionform
2016-01-11 19:35:34 933
原创 使用Hiernbate创建表格
测试Hierbnate之前,需要建立表格package com.houlu.SH_DRP.util;import org.hibernate.cfg.Configuration;import org.hibernate.tool.hbm2ddl.SchemaExport;/** * 将hbm导出生成ddl * @author Administrator * */public class
2016-01-10 14:17:22 260
原创 Spring+Hibernate声明事务
spring+hibernate,采用声明式事务1、声明式事务配置 * 配置SessionFactory * 配置事务管理器 * 事务的传播特性 * 那些类那些方法使用事务<!-- 配置SessionFactory --> <bean id="sessionFactory" class="org.springframework.orm.hibernate3.LocalSessionF
2016-01-06 09:45:52 252
原创 Spring入门简单总结
使用spring流程1、spring的依赖包配置 * SPRING_HOME/dist/spring.jar * SPRING_HOME/lib/log4j/log4j-1.2.14.jar * SPRING_HOME/lib/jakarta-commons/commons-logging.jar2、提供spring配置文件applicationContext.xml3
2016-01-05 18:26:45 317
转载 使用DOM4J解析 XML文件
转自博客 http://blog.csdn.net/redarmy_chen/article/details/12969219
2015-12-27 10:07:04 195
转载 JSP WEB相关文章
学习基于Jsp的JavaWeb开发已经有一段时间了,写过的这一系列的文章也不少,今天整理了一下关于Web开发的文章,做了一个索引的目录,这样复习查找起来也方便了很多了,也为兄弟们分享一下: 此篇文章为顶置文章 当然了,学无止境,该目录会时常更新!本文出自 “赵玉强的博客” 博客,请务必保留此出处http://zhaoyuqiang.blog.51cto.com/6328846/1170232基于J
2015-11-17 16:46:03 275
原创 实现网页分页显示
如何实现分页显示使用 JSP+TOMCAT+SQLSERVER完成效果为,分页 建立页面信息对象 包括总页数,第几页,每页内容大小 package com.houlu.drp.util;import java.util.List;import com.houlu.drp.sysmgr.domain.User;/** * 封装分页信息 * @author Administrator *
2015-11-03 19:27:55 2669
转载 高性能单例模式
转载 http://blog.csdn.net/generalfu/article/details/8142463面试的时候,常常会被问到这样一个问题:请您写出一个单例模式(Singleton Pattern)吧。好吧,写就写,这还不容易。顺手写一个:public final class EagerSingleton { private static EagerSingl
2015-10-30 17:04:06 387
原创 希尔排序
希尔排序思路 1.选取希尔分割点 2.对每一段进行插入排序import java.util.*;public class ShellSort{ public static void main(String[] args){ int[] num={2,2,4,9,11,14,8,9,1,3}; doSort(num); System.ou
2015-10-29 21:07:11 210
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人