自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

John的博客

一生一趟,不虚此行!

  • 博客(23)
  • 资源 (12)
  • 收藏
  • 关注

转载 《深入理解mybatis原理》 Mybatis数据源与连接池

  对于ORM框架而言,数据源的组织是一个非常重要的一部分,这直接影响到框架的性能问题。本文将通过对MyBatis框架的数据源结构进行详尽的分析,并且深入解析MyBatis的连接池。    本文首先会讲述MyBatis的数据源的分类,然后会介绍数据源是如何加载和使用的。紧接着将分类介绍UNPOOLED、POOLED和JNDI类型的数据源组织;期间我们会重点讲解POOLED类型的数据源和其实现的连接...

2018-03-22 14:21:28 201

转载 JAVA CPU占用过高问题排查(linux)

JAVA CPU占用过高问题排查(linux)最近发现有一个服务在服务器上无响应,到服务器上一看,好家伙,java进程CPU一直100%以上简单记录下我对这个问题的跟踪首先当然要看下具体是java中哪个线程一直在占用cpu时间哈(说明下,我的java进程号是 26178)1.根据java进程ID进行CPU占用排查  ps -mp 26178 -o THREAD,tid,time | sort -r...

2018-03-21 15:48:14 2195 1

转载 Spring IoC Context启动过程解析

ServletContextWeb容器在启动的过程中,会为每个Web应用程序创建一个对应的ServletContext对象,它代表了当前的Web应用,为Spring IoC容器提供宿主环境。在部署Web工程的时候,Web容器会读取web.xml,创建ServletContext,当前Web工程所有部分都共享这个Context。context-param为ServletContext提供键值对,即S...

2018-03-21 11:41:44 205

原创 springmvc和struts2比较

springmvc流程图;struts2访问调用流程图:依照上图,我们可以看出一个请求在struts的处理大概有如下步骤:客户端初始化一个指向Servlet容器(例如Tomcat)的请求;这个请求经过一系列的过滤器(Filter)(这些过滤器中有一个叫做ActionContextCleanUp的可选过滤器,这个过滤器对于Struts2和其他框架的集成很有帮助,例如:SiteMesh Plugin)...

2018-03-19 16:38:48 406

转载 Oracle存储过程总结

1.存储过程结构 1.1 第一个存储过程 create or replace procedure proc1(para1 varchar2,para2 out varchar2,para3 in out varchar2) asv_name varchar2(20);begin v_name :='zhangsf'; para3 := v_name;dbms_output.put...

2018-03-16 17:30:19 148

转载 高并发&高可用系统应对策略的一些思考

解耦神器:MQMQ是分布式架构中的解耦神器,应用非常普遍。有些分布式事务也是利用MQ来做的。由于其高吞吐量,在一些业务比较复杂的情况,可以先做基本的数据验证,然后将数据放入MQ,由消费者异步去处理后续的复杂业务逻辑,这样可以大大提高请求响应速度,提升用户体验。如果消费者业务处理比较复杂,也可以独立集群部署,根据实际处理能力需求部署多个节点。需要注意的是:需要确认消息发送MQ成功比如RabbitMQ...

2018-03-16 10:30:18 451

转载 大数相乘问题(java版)

将两个大数保存到字符串中,他们相乘的结果也保存到字符串中,那么无论多大的数,都能够用这种方法去解决。首先看下我们数学上怎么去计算两个数字相乘的: 如果我们用程序把上面的过程写出来,那么这个问题就解决了。java代码如下:package com.zyk.model;import java.util.Scanner;public class BigNumMuti { public st...

2018-03-13 14:04:10 985

原创 java中集合总结

一:Collection1、List(有序,可重复)  1.1、ArrayList  数组、查询快、增删慢、线程不安全、效率低1.2、LinkedList链表、查询慢、增删快、线程不安全、效率低1.2、Vector数组、查询快、增删慢、线程安全、效率高2、Set(无序、唯一)2.1、TreeSet红黑数、有序两种排序方法: 自然排序(元素具备比较性)                        ...

2018-03-10 14:19:40 170

原创 高并发访问解决方法

经过查资料,方案如下所示。 1 从最基础的地方做起,优化我们写的代码,减少必要的资源浪费。        a、避免频繁的使用new对象,对于整个应用只需要存在一个实例的类,我们可以使用单例模式。对于String连接操作,使用      StringBuffer或StringBuilder,对于工具类可以通过静态方法来访问。        b、避免使用错误的方式,尽量不用instanceof做条件判...

2018-03-09 16:06:35 2396

原创 WebSocket总结(原理和API)

一、主要根据以下问题展开:1、什么是webSocket?2、为什么用websocket?3、怎么用websocket?4、websocket和其它框架的整合二、websocket定义:HTML5出的东西(新的协议),也就是说HTTP协议没有变化,或者说没关系,但HTTP是不支持持久连接的(长连接,循环连接的不算),它实现了浏览器与服务器全双工通信,允许服务器主动发送消息给客户端。对比Http协议:...

2018-03-08 14:33:45 2696

原创 redis学习

Redis有哪些数据结构?字符串String、字典Hash、列表List、集合Set、有序集合SortedSet。如果你是Redis中高级用户,还需要加上下面几种数据结构HyperLogLog、Geo、Pub/Sub。如果你说还玩过Redis Module,像BloomFilter,RedisSearch,Redis-ML,面试官得眼睛就开始发亮了。使用过Redis分布式锁么,它是什么回事?先拿s...

2018-03-06 22:11:45 222

原创 java问题集锦

1、堆,栈,方法区的区别?JAVA的JVM的内存可分为3个区:堆(heap)、栈(stack)和方法区(method)也叫静态存储区。堆区:1.存储的全部是对象,每个对象都包含一个与之对应的class的信息。(class的目的是得到操作指令) 2.jvm只有一个堆区(heap)被所有线程共享,堆中不存放基本类型和对象引用,只存放对象本身栈区:1.每个线程包含一个栈区,栈中只保存基础数据类型的对象和...

2018-03-06 16:46:57 191

转载 Spring配置多数据源实现数据库读写分离

之前一直想要实现通过Spring进行多数据源的配置,偶然发现一篇极好的博客!现在大型的电子商务系统,在数据库层面大都采用读写分离技术,就是一个Master数据库,多个Slave数据库。Master库负责数据更新和实时数据查询,Slave库当然负责非实时数据查询。因为在实际的应用中,数据库都是读多写少(读取数据的频率高,更新数据的频率相对较少),而读取数据通常耗时比较长,占用数据库服务器的CPU较多...

2018-03-06 16:05:51 173

原创 好的网站(收藏)

工作流http://blog.csdn.net/tuzongxun/article/details/51093881http://www.cnblogs.com/wang-meng/p/5895787.htmlhttp://blog.csdn.net/qq_28663043/article/category/6555318易百教程https://www.yiibai.com/i...

2018-03-06 11:41:04 307

原创 Hibernate总结

1.为什么要使用Hibernate开发你的项目呢?Hibernate的开发流程是怎么样的?为什么要使用①.对JDBC访问数据库的代码做了封装,大大简化了数据访问层繁琐的重复性代码。 ②.Hibernate 是一个基于JDBC的主流持久化框架,是一个优秀的ORM 实现。他很大程度的简化DAO层的编码工作 ③.hibernate 的性能非常好,因为它是个轻量级框架。映射的灵活性很出色。它支持各种关系数...

2018-03-06 11:34:55 192

转载 搭建Nginx+Java环境

转载自:http://blog.csdn.net/cupidove/article/details/29596541一、简介:Tomcat在高并发环境下处理动态请求时性能很低,而在处理静态页面更加脆弱。虽然Tomcat的最新版本支持epoll,但是通过Nginx来处理静态页面要比通过Tomcat处理在性能方面好很多。二、下载安装:下载nginxhttp://nginx.org/en/downloa...

2018-03-05 14:34:28 295

原创 程序员如何更好的获取自己的学习书单

有同学在评论里留言,说让我分享一下读过的书和感受。事实上,每个人的目标都不一样,适合我的书不一定适合其他人,因此我觉得分享一下我挑选书籍的方法,顺带分享几本好书,可能对读者来说更有价值。 所以在分享书单之前,我想先聊聊我是怎样挑选书籍的。评价驱动 vs 能力驱动不同于一般的评价驱动,也就是哪本书评价高,读哪本,我读书,是极其功利的能力驱动,我的职业规划和工作需要我掌握什么能力,我就去看什么书。评价...

2018-03-02 15:14:04 584

转载 Java趣谈——如何构建一个高效且可伸缩的缓存

本集概要:怎样构建一个线程安全而又高效、可伸缩的缓存?怎样利用设计模式,把缓存做成通用的工具?除了synchronize和volatile,我们还能使用哪些工具来开发线程安全的代码?前情回顾: Volatile趣谈——我是怎么把贝克汉姆的进球弄丢的大雄开发的门线传感器在曼联和阿森纳的比赛中一鸣惊人,越来越多的客户向公司订购这款软件……糙版缓存一天,哆啦对大雄说,“大雄,你看我们后台这个统计用户消费...

2018-03-02 14:02:30 280

转载 Spring(2) —— 注入方式哪家强

本集概要:构造器注入有什么缺点?如何使用setter注入?setter注入为什么会导致空指针异常?前情回顾:用小说的形式讲解Spring(1) —— 为什么需要依赖注入大雄给项目引入了Spring框架,解决了代码过度耦合的问题,当然,这只是Spring强大功力的冰山一角,菜鸟大雄还仍然是菜鸟大雄……越来越庞大的构造函数一天,晨会过后,哆啦对大雄说,“大雄,我们的订单接口和支付接口都已经非常完善了,...

2018-03-02 10:49:48 213

转载 用小说的形式讲解Spring(1) —— 为什么需要依赖注入

本集概要:使用依赖注入前,代码是什么样子,有什么缺点?依赖注入是什么?为什么要使用依赖注入?Spring如何使用xml配置的方式进行依赖注入?大雄是一个刚踏入社会的95后,热爱编程的他,在毕业之后进入了一家互联网公司,负责公司内一个电商项目的开发工作。为了让大雄更快的成长,公司安排了哆啦作为大雄的导师。春风得意在哆啦的指导下,大雄很快对这个项目的代码有了大致的了解,于是哆啦准备给大雄安排点任务。“...

2018-03-02 10:46:34 187

转载 如何给老婆解释什么是RESTful

老婆经常喜欢翻看我订阅的技术杂志,她总能从她的视角提出很多有趣的问题。一个悠闲的周日下午,她午觉醒来,又习惯性的抓起这个月的杂志,饶有兴趣地看了起来。果不其然,看着看着,她又对我发难了,“Restful是什么呀,老公?是restaurant的形容词吗,突然就觉得好饿了啊......”作为一个合格的程序员,我一直把能够将一项技术讲给老婆听,并且能给她讲懂,作为我已经掌握了这项技术的标准。如果我直接回...

2018-03-02 10:09:08 295

原创 java电商面试介绍

前两个项目采用的是ssh框架搭建的,最近的项目采用的是ssm框架搭建的。在实际开发中,我觉得这两个框架,他们最大的区别在于hibernate与mybatis的区别。Hibernate与mybatis相比较,mybatis更为轻便、灵活,容易掌握。mybatis可以把sql语句从java代码中分离了出来,放在了配置文件中书写,大大降低里java代码与SQL语句的耦合度,更容易对sql语句操作,重要的...

2018-03-01 21:29:22 14068 1

转载 Oracle之SQL语句性能优化

(1)选择最有效率的表名顺序(只在基于规则的优化器中有效):ORACLE的解析器按照从右到左的顺序处理FROM子句中的表名,FROM子句中写在最后的表(基础表 driving table)将被最先处理,在FROM子句中包含多个表的情况下,你必须选择记录条数最少的表作为基础表。如果有3个以上的表连接查询, 那就需要选择交叉表(intersection table)作为基础表, 交叉表是指那个被其他表...

2018-03-01 10:21:20 164

jira项目管理系统使用指南.pdf

jira项目管理系统使用指南

2021-03-18

redis 开发和使用规范 (最详细)

最全redis开发和使用规范,以及各种使用场景介绍,redis各种数据类型分析等等

2018-09-14

joda-time-2.9.9

joda-time-2.9.9时间日期转换工具类,简单易用,功能强大!

2018-01-25

class反编译工具

class反编译工具,可以将class文件编译成java代码,检测代码完整性

2017-12-19

阿里开发规范插件

阿里开发规范插件,可以嵌入到eclipse中,检测代码规范性

2017-12-19

spring揭秘-最经典的Spring学习教程

spring揭秘-最经典的Spring学习教程,值得一看!

2017-07-21

反编译工具jd-gui

反编译工具jd-gui!

2017-06-14

超好用notepad中json格式化插件

超好用notepad中json格式化插件!

2017-05-05

(MySQL中文参考手册

mysql中文最详细介绍,值得收藏!

2017-01-11

Adroid官方API文档完整版

最详细最全面的Android开发api文档介绍

2017-01-11

空空如也

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

TA关注的人

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