自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

请叫我王老魔

菜鸟要慢慢学着飞起来

  • 博客(93)
  • 收藏
  • 关注

翻译 Spring MVC 框架基础

Spring MVC 框架基础1. SpringMVC的基本处理流程1.1 springmvc是一个基于mvc的web框架, 其处理用户请求的流程如下图所示:1.2 步骤第一步:发起请求到前端控制器(DispatcherServlet)第二步:前端控制器请求HandlerMapping查找 Handler 可以根据xml配置、注解进行查找第三步:处理器映射器HandlerMapping向前端

2017-12-11 16:37:26 429

翻译 Spring 整合web 项目原理及配置

Spring 整合web 项目原理及配置1 加载spring核心配置文件,通过以下代码实现对象的加载及创建// 加载spring配置文件,根据创建对象ApplicationContext context = new ClassPathXmlApplicationContext("bean1.xml");缺点 通过这种在代码中显示加载配置文件的方法,可以实现bean对象的加载,但是通过ne

2017-12-11 16:35:19 984

翻译 Spring 事务

Spring事务spring针对不同的dao层框架,提供接口不同的实现类,常用的有两个 事务管理器 使用场景 jdbc.datasource.datasourceTransactionManager 用于Spring对于JDBC的抽象的支持,也可以适用于mybatis进行持久化的场景 orm.hibernate3.HibernateTransactionManager 用于hi

2017-11-30 14:43:07 480

翻译 Spring AOP原理

Spring AOP 原理aop:面向切面(方面)编程,扩展功能不修改源代码实现AOP 机制采用横向抽取机制,取代原来的纵向抽取机制纵向抽取机制 * 横向抽取机制* aop底层使用动态代理实现(1)第一种情况,有接口情况,使用动态代理创建接口实现类代理对象 (jdk动态代理) (2)第二种情况,没有接口情况,使用动态代理创建类的子类代理对象 (cglib 动态代理)AOP 常见术语连接点

2017-11-29 17:02:08 383

原创 Java中的值传递和引用传递

理解Java中的值传递和引用传递,形参和实参1. 两大数据类型以及特殊的String8种基本数据类型 int char byte boolean long short float double 对象类型 1、8种基本数据类型的包装类型 2、数组等 3、定义的对象特殊: String2. 两大引用类型基本类型对象的引用 这两者是有区别的 基本类型 对象的引用 声明定义的时

2017-11-29 16:04:23 435

翻译 Spring 基本概念和 IOC

Spring 基本概念1 spring是开源的轻量级框架2 spring核心主要两部分: (1)aop:面向切面编程,扩展功能不是修改源代码实现 (2)ioc:控制反转,把对象的创建交给spring进行管理 - 比如有一个类,在类里面有方法(不是静态的方法),调用类里面的方法,创建类的对象,使用对象调用方法,创建类对象的过程,需要new出来对象 - 把对象的创建不是通过new方式实现,而是交

2017-11-22 22:19:13 322

翻译 mybatis 缓存

mybatis 缓存数据模型分析思路每张表记录的数据内容: 分模块对每张表的内容进行熟悉,相当于学习系统需求功能的过程每张表的重要字段: 非空字段、外键字段数据库表与表之间的关系: 外键字段表与表之间的业务关系:建立在某个业务基础之上去分析mybatis 缓存mybatis提供查询缓存,用于减轻数据压力,提高数据库性能。 mybaits提供一级缓存,和二级缓存为什么要用缓存? 如果缓存

2017-11-21 17:31:02 242

转载 Maven 了解

maven 相关在这里有一个maven的教程,大家可以看看,很有用处,很多maven的概念就都了解了,http://www.yiibai.com/maven/两大核心: 1 对jar包的依赖管理 好处:项目的大小大大的减小了,因为只需要.POM文件管理项目的依赖,不需要jar包实际放在工程中 2 项目构建 项目编码完成之后的操作 编译,测试,打包,部署使用mvn之后,通过命令,实现非常简单1

2017-11-21 10:29:24 284

翻译 Mybatis 输入输出映射和动态SQL

Mybatis 输入输出映射和动态SQL输入映射输入的元素可以是简单类型, pojo 对象,也可以是map如果查询的判断条件很复杂,这时我们一般采用pojo对象来封装需要的判断元素,将封装好的pojo对象,传入输出映射输出的元素可以是简单类型, pojo 对象,也可以是map输出映射可以采用 resultType 进行映射, 指定返回的对象,但是使用此有几个限制:使用resultType进行输出

2017-11-15 21:23:00 769

翻译 Mybatis 全局配置文件 SqlMapConfig.xml 的配置内容

全局配置文件 SqlMapConfig.xml 的配置内容 properties(属性) settings(全局配置参数) typeAliases(类型别名) typeHandlers(类型处理器) objectFactory(对象工厂) plugins(插件) environments(环境集合属性对象)   transactionManager(事务管理)

2017-11-15 21:21:35 479

翻译 mybatis 利用DAO 与利用 mapper代理 进行开发

mybatis 利用DAO 与利用 mapper代理 进行开发mybatis 利用DAO开发的一般步骤思路:程序员需要写dao接口和dao实现类。 需要向dao实现类中注入SqlSessionFactory,在方法体内通过SqlSessionFactory创建SqlSession 配置SqlMapConfig 与 User.xml 定义操作接口及其实现类 外部调用 对use

2017-11-12 21:59:51 358

翻译 mybatis实现增删查改

mybatis实现增删查改流程图: // mybatis配置文件// 在此遇到一个问题,发现读取配置文件的时候读取不到,原因是idea的 classpath的问题,解决的方案// 可以在 http://blog.csdn.net/shifangwannian/article/details/48882201 找到解决方案// SqlmapConfig.xml 是全局配置文件String r

2017-11-12 21:57:25 543

翻译 Mybatis 学习---基础知识

Mybatis 学习—基础知识1. 原生JDBC存在的一些问题 jdbc 连接数据库的一般步骤 1、 加载数据库驱动 2、 创建并获取数据库链接 3、 创建jdbc statement对象 4、 设置sql语句 5、 设置sql语句中的参数(使用preparedStatement) 6、 通过statement执行sql并获取结果 7、

2017-11-09 15:09:51 355

原创 github 入门,如何上传本地项目到github托管

欢迎使用Markdown编辑器写博客Markdown和扩展Markdown简洁的语法代码块高亮图片链接和图片上传LaTex数学公式UML序列图和流程图离线写博客导入导出Markdown文件丰富的快捷键快捷键加粗 Ctrl + B 斜体 Ctrl + I 引用 Ctrl + Q插入链接 Ctrl + L插入代码 Ctrl + K插入图片

2017-11-06 19:12:39 383

转载 缓存淘汰算法 LFU and LRU

本博客转载自: http://blog.csdn.net/jake_li/article/details/50659868http://flychao88.iteye.com/blog/1977653一. LFU(Least Frequently Used)1.1. 原理 淘汰一定时期内最少使用的数据 LFU(Least Frequently Used)算法根据数据的历史访问频率来淘汰数据,

2017-09-23 16:43:12 1423

转载 设计模式的六大原则

本文转载自: http://www.cnblogs.com/dolphin0520/p/3919839.html第一: 单一职责原则一个类只负责一个功能领域中的相应职责,即一个类只负责一个功能 单一职责原则是实现高内聚、低耦合的指导方针,它是最简单但又最难运用的原则,,一个类(大到模块,小到方法)承担的职责越多,它被复用的可能性就越小,而且一个类承担的职责过多,就相当于将这些职责耦合在一起

2017-09-19 22:15:43 358

转载 ConcurrentHashMap总结

本文转载自: https://my.oschina.net/hosee/blog/675884 ConcurrentHashMap总结 原文出处: Hosee并发编程实践中,ConcurrentHashMap是一个经常被使用的数据结构,相比于Hashtable以及Collections.synchronizedMap

2017-09-04 21:28:04 477

原创 数据库的三大范式

概念首先规范化是为了解决什么问题? 用来改造关系模式,通过分解关系模式来消除其中不合适的数据依赖,以解决插入异常、删除异常、更新异常和数据冗余问题插入异常 删除异常 更新异常 数据冗余函数依赖: 若对于R(U)的任意一个可能的关系r,r中不可能存在两个元组在X上的属性值相等, 而在Y上的属性值不等, 则称 “X函数确定Y” 或 “Y函数依赖于X”,记作X→Y。也就是说 X 与 Y一一对应的

2017-09-04 11:14:34 786

原创 Spring中三个重要概念 IOC AOP Bean

首先讲解一下Spring框架,以及为什么要使用Spring 框架?Spring 是一个很好的容器框架, 是轻量级的IoC和AOP的容器框架,主要是针对javaBean的生命周期进行管理的轻量级容器,一般在传统的java开发中具有高度的耦合性,一个项目中或者一个逻辑功能的实现时,往往一个对象需要依赖很多的对象来完成自己的操作,这样就造成了两个类的依赖关系太强,改一个地方,往往牵扯很多类牵扯大量的代码。

2017-05-26 15:49:03 6359

原创 多线程中的ThreadLocal 详解

要了解ThreadLocal,首先搞清楚ThreadLocal 是什么?是用来解决什么问题的?ThreadLocal 是线程的局部变量, 是每一个线程所单独持有的,其他线程不能对其进行访问, 通常是类中的 private static 字段,是对该字段初始值的一个拷贝,它们希望将状态与某一个线程(例如,用户 ID 或事务 ID)相关联我们知道有时候一个对象的变量会被多个线程所访问,这时就会有线程安全

2017-05-19 16:49:42 30302 7

转载 Http协议

本文转载自:http://www.jianshu.com/p/b1ea16450fff 作者信息: 简书作者–陶邦仁陶邦仁 作者的整个web请求系列的文章,写的特别好,建议大家详细看看,附上链接Session 和 Cookie 的区别: 请大家看看这篇博客:https://my.oschina.net/kevinair/blog/192829–http://blog.csdn.net/axi

2017-04-20 09:31:41 700

转载 字符串匹配算法-KMP算法

本文转载自:http://www.cnblogs.com/maybe2030/p/4633153.html#top Poll的笔记[三叶草精神] what hurts more,the pain of hard work or the pain of regret? 博客园首页联系订阅管理

2017-04-19 20:46:59 532

转载 JVM 调优

1.、堆大小的设置JVM 中最大堆大小有三方面限制:相关操作系统的数据模型(32-bt还是64-bit)限制;系统的可用虚拟内存限制;系统的可用物理内存限制。32位系统下,一般限制在1.5G~2G;64为操作系统对内存无限制。我在Windows Server 2003 系统,3.5G物理内存,JDK5.0下测试,最大可设置为1478m。 典型设置: java -Xmx3550m -Xms3550

2017-04-18 16:12:07 341

原创 JVM垃圾回收

垃圾回收的主体java的垃圾回收主要针对的是 堆上的内存空间(堆上的对象)(最主要的) 以及 方法区中的常量池和无用的类的回收(在经常动态加载类的场景中需要进行回收处理)堆上的空间回收率比较高,一般能回收70-90%的空间,而方法区中的回收效率很低,常量池的回收比较简单,但是一个无用类要被回收则必须满足下面的条件: 该类的所有实例对象已经被回收 加载该类的classloader已经被回收 该

2017-04-18 10:55:32 381

原创 java 的JVM内存详解和内存溢出异常

说明更多关于JAVA虚拟机的知识,大家可以参考 《深入理解java虚拟机》 –周志明著 一书,下面的内容大部分都是总结自这本书中的内容。java的内存管理对于java 和C++来说,有这这样一个巨大的差别,这个差别就是由内存动态分配和垃圾回收技术所围成的高墙,墙里面的人想出来,墙外面的人想进去。对于java来说,JVM提供了自动管理内存机制,在该机制下,程序员不用向C或者C++一样再去写 delet

2017-04-17 20:55:27 1048

转载 java开发之服务器端开发

第二种: 服务器端开发 第一个阶段是连接器设计,主要涉及到涉及到网络知识(阻塞式socket和非阻塞式socket)、通信模式(TCP/IP或者UDP)、网络管理(负载、连接状态等)、传输协议设计(特别与其他语言的交互)、I/O处理(bytes转成Object、Object转成bytes)等。有些方面可以靠网络硬件设备来解决。 第二个阶段是核心业务设计(严格来讲就是通用服务设计) 多线程的

2017-04-14 19:27:04 4836

原创 MVC框架简介,SSH 和SSM

java开发面向的几个方向,这里列出了几个我想从事的方向而已,可能还有许多更加细分的方向,我没有考虑到 第一种: J2EE , 做web开发, 第二种: 服务器端开发 第三种: 中间件开发 第四种:基于java语言的Andriod 开发第一种: J2EE , 做web开发, 一个web请求的处理过程: 这这是一个大致的请求的流程:除此之外: 1. 其实在服务器端还有更加复杂的业务逻

2017-04-14 17:31:25 11303 3

原创 数据库连接池简介和 C3P0的JDBC配置

前面一节我们介绍了如何利用jdbc连接数据库,已经实现了数据库的连接,但是在实际的项目开发中,可以发现基本上都使用了数据库连接池技术,为什么要使用数据库连接池呢?根源在于对数据库连接的低效管理 答: 普通的JDBC数据库连接,用户请求一次查询的时候就会向数据库发起一次连接,执行完后就断开连接,这样的方式会消耗大量的资源和时间,数据库的连接资源并没有得到很好的重复利用。若是同时有几百人甚至几千人在线

2017-04-12 11:27:51 4114 2

原创 java中的JDBC详解 附带实现配置文件访问数据库

JDBC 是Java操作数据库的规范,它实际上定义了一组标准的数据库的接口,为了实现通过java操作数据库,必须实现这些接口,不同的数据库厂商都提供了对JDBC接口的实现,这些具体的实现被打包成一个jar包(也就是数据库驱动),供我们在开发的时候直接使用。 JDBC API 中的主要接口: 第一: Driver接口是所有JDBC程序必须实现的接口,该接口专门提供给数据库厂商使用,定义了驱动的样式

2017-04-10 14:54:07 13082 1

原创 数据库的索引详解

索引的重要性:当你的数据库的性能出现问题了,那么就重新优化你的索引吧,这能够解决80%的性能问题,由此可见索引的重要性,尤其在数据量越来越大的时候,影响更加的明显,一个最优的索引能够轻易的将查询性能提高好几个数量级。索引的作用和优点: 1. 能够大大的提高数据的查询检索速度 2. 通过创建唯一性索引可以保证数据库中每一行的唯一性 3. 可以加速表和表之间的连接,特别是在实现数据的参考完整性方

2017-04-08 10:43:43 6301

原创 数据库中的事务和锁(乐观、悲观锁,共享、排他锁,死锁)

并发控制: 事务和锁的存在都是为了更好的解决并发访问造成的数据不一致性的的问题 乐观锁和悲观锁都是为了解决并发控制问题, 乐观锁可以认为是一种在最后提交的时候检测冲突的手段,而悲观锁则是一种避免冲突的手段。 乐观锁: 是应用系统层面和数据的业务逻辑层次上的(实际上并没有加锁,只不过大家一直这样叫而已),利用程序处理并发, 它假定当某一个用户去读取某一个数据的时候,其他的用户不会来访问修改这个数据

2017-04-02 22:22:40 17594 3

原创 数据库的DBS DBMS DBA DDL DML DCL

数据库系统 DBS 整体数据的结构化是数据库的主要特征之一 数据结构化, 数据的共享性高,冗余度低,易扩充, 数据的独立性高:物理独立性(用户的应用程序和磁盘中的数据是相互独立的,当数据的物理存储改变,程序不用改变)和逻辑独立性(应用程序和数据库的逻辑结构是相互独立的,逻辑结构改变,用户程序也可以不改变) 数据由DBMS统一管理和控制DBMS :数据库管理系统, DataBase Man

2017-03-31 16:27:18 3867

原创 MySQL存储引擎

MySQL 可以将数据以不同的技术存储在文件(内存)中,这种技术就称之为存储引擎(也叫表类型),每一种存储引擎使用不同的存储机制,索引技巧,锁定水平,最终提供广泛且不同的功能。 MySQL的核心就是存储引擎, 存储引擎是独立于操作系统的,也就是mysql支持多平台的原因。 MySQL 提供的几种存储引擎,经常使用的主要是前二种 MyISAM InnoDB 默认的存储引擎 Memory C

2017-03-29 22:00:21 741

原创 MySQL的常见数据类型

我们在进行数据库的设计中设计表的时候需要考虑选择合适的数据类型, 比如年龄,需要的是无符号的,那么 tinyint 就足够了,不必须非得要int型的, 这样可以节省数据空间,也是一种优化。 整型: 类型: 字节: 有符号 无符号 tinyint: 1个字节 -128 —127

2017-03-28 21:26:21 545

原创 MySQL基础和数据库的创建命令,约束

首先讲解一下常见的命令: net start mysql57 (mysql57 是 服务名), 启动服务 net stop mysql57 关闭服务 mysql -uroot -p 根据用户名,密码登陆数据库 (root是用户名) prompt mysql> 修改提示符mySQL的默认端口号 3306 默认用户 rootMySQL语句的规范: 1. 关键字和函

2017-03-28 20:12:09 955

转载 几种常见的java开源库,及其功能介绍

1、Commons Math 是Apache上一个轻量级自容器的数学和统计计算方法包,包含大多数常用的数值算法。2、LWJGL(Lightweight Java Game Library)可以帮助Java程序员开发有着商业性质的游戏。LWJGL为开发者提供简单易用的API来访问OpenGL (Open Graphics Library)和OpenAL (Open Audio Library),同样也

2017-03-26 21:01:28 4103

原创 java 的 ClassLoader 类加载机制详解

一个程序要运行,需要经过一个编译执行的过程: Java的编译程序就是将Java源程序 .java 文件 编译为JVM可执行代码的字节码文件 .calss 。Java编译器不将对变量和方法的引用编译为数值引用,也不确定程序执行过程中的内存布局,而是将这些符号引用信息保留在字节码中,由解释器在运行过程中创立内存布局,然后再通过查表来确定一个方法所在的地址。这样就有效的保证了Java的可移植性和安全性。

2017-03-21 11:28:30 4304 2

原创 Java 8 的新特性

(最重要的是接口的扩展 和 支持Lambda表达式)第一: 关于接口 interface,新增了:可以在接口内实现非抽象的方法,只需要在方法前面加上default关键字, 另外在接口内也可以添加static 方法。interface Formula { double calculate(int a); // 原来接口内只允许上面的抽象方法,现在可以增加下面的具体的方法实现,现在接口就

2017-03-20 11:30:18 348

原创 UDP中的connect方法 和TCP的connect方法详解

上一篇文章中,我发现了UDP也是有这connect方法的,这使我非常不理解,下面为大家讲解一下这个connect方法。 我们知道UDP是无连接的,它可以给多个IP发送数据包,包括广播地址或者多播通信的实现,而这些是TCP/IP无法实现的。 但是UDP提供了这样的一个connect()方法,它有两种使用方式,当使用了这个方法之后,那么就限定了这个socket的使用范围: 只允许从这个指定的Sock

2017-03-19 21:51:13 7168 1

原创 TCP和UDP 在java上通信上的实现

TCP/IP 实现通信图示: 服务器端: ServerSocket 第一步: 服务器端启动一个ServerSocket, 绑定到特定的端口号上,并对该端口号进行监听,等待用户的请求ServerSocket serverSocket = new ServerSocket(5566);第二步: 调用accept() 方法,监听端口号, 如果没有用户发送请求连接,这个accept方法是会一致阻塞的,

2017-03-19 21:15:01 3772

空空如也

空空如也

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

TA关注的人

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