- 博客(47)
- 收藏
- 关注
原创 SpringMVC
SpringMVC通过实现MVC模式,将数据、业务与展现进行了分离。SpringMVC和Struts2类似,但SpringMVC采用了可插拔的组件结构,更加具有可扩展性和灵活性。 使用SpringMVC有基于XML配置文件和基于注解两种形式。SpringMVC的获取SpringMVC属于Spring FrameWork的后续产品。从开发Spring所使用的spring-framework-4.2.
2017-11-12 19:47:36 341
原创 拆分配置文件
拆分思路将所有的配置内容,放在一个applicationContext.xml.配置内容的可读性、可维护性变差。通常需要把applicationContext.xml分解成多个细粒度的配置文件,在每个配置文件中只配置某一个模块。 分解的两种思路: (1)三层架构的分层模式 将DAO、Service、controller(或action、servlet)层,以及公用配置(如数据源、事务)各写在一
2017-11-12 17:42:36 572
原创 Linux基础
学习Linux的学习记录主流两大系列红帽系列:centos其软件(包)管理工具:rpm和yumrpm -qayum install vimyun和rpm详解debian系列:ubuntu其软件(包)管理工具 dpkg和 apt-getapt-cache search vimapt-get install vimps:Ubuntu 是建立在Debian基础上的Linux发行版本,保留了Debian
2017-10-12 19:02:36 245
原创 Java虚拟机
简介Java虚拟机JVM(Java Virtual Machine),实现Java语言的非常重要的特点:平台的无关性。Java编译器只需面向JVM,生成JVM能理解的代码或字节码文件。Java源文件经编译器,编译成字节码程序,通过JVM将每一条指令翻译成不同平台机器码,通过特定平台运行。平台无关性原理:编译后的 Java程序(.class文件)由 JVM执行。JVM屏蔽了与具体平台相关的信息,使程序
2017-10-05 23:31:54 221
原创 桶排序
简介计数排序假设输入是由一个小范围的整数构成的,而桶排序则假设输入由一个随机过程产生的,该过程假设元素均匀而独立地分布在区间[0,1)上。当桶排序的输入符合均匀分布时,即可以线性期望时间运行。桶排序的思想是:把区间[0,1)划分成n个子区间,即n个桶(bucket)(桶本身有序排列),然后将n个输入数分布到各个桶中去,对各个桶中的数进行排序,然后按照次序把各个桶中的元素列出来即可。 过程:http
2017-10-05 20:32:55 280
原创 计数排序
以空间换时间的计数排序算法基本思想假设元素大于等于0 1.依次扫描原数组,将元素值k记录在中间数组的k位上: 2.将中间数组变换后,输出到结果数组:依次扫描中间数组,如果为1,将其插入输出数组的空白处 伪代码:CountSort(A) max = maxOf(A) //线性 let B[max+1] be a new array of 0 let C[A.length] be a
2017-10-05 16:34:19 332
原创 MyBatis
简介MyBatis曾被称为iBatis. iBatis是apache的一个开源项目,2010年迁移到google code,并且改名为MyBatis。 MyBatis是一个支持普通SQL查询、存储过程和高级映射的优秀持久层框架。MyBatis消除了绝大部分的JDBC代码,简化了手工设置SQL参数,以及对结果集的检索进行了封装。 MyBatis可以使用简单的XML或注解的方式来配置映射,将POJO
2017-10-03 12:40:41 361
原创 String类的intern()
简介JVM运行时数据区中的方法有一个常量池,JDK1.6之后(即JDK1.7)常量池被放在了堆空间,常量池位置的不同影响着String 的intern方法的表现。 intern()方法设计初衷,重用String对象,以节省内存消耗。intern()String s = new String("1"); String s1 = "1";s.intern();System.out.println
2017-10-02 21:17:58 249
原创 concurrentHashMap
并发环境使用HashMap在并发场景中,使用HashMap,没有保持足够的同步,可能在执行HashMap.get时进入死循环,将CPU消耗到100%. HashMap采用的是链表解决Hash冲突,容易形成闭合的链路,这样在循环时候,只要有线程对这个HashMap进行get操作就会产生死循环,应该用ConcurrentHashMap.
2017-10-01 23:21:37 325
原创 数据库连接池
简介 数据库连接池(Connection pooling)是程序启动时建立足够的数据库连接,并将这些连接组成一个连接池,由程序动态地对池中的连接进行申请,使用,释放。
2017-09-28 00:51:05 345
原创 Ajax
简介AJAX(Asynchronous Javascript And XML,异步JavaScript和XML),是一种用于创建快速动态网页的技术。从名字可以发现,Ajax并不是一种全新的技术,而是整合了JavaScript和XML的现有技术。Ajax的作用Ajax通过在后台与服务器之间交换少量数据的方式,实现网页的异步更新,意味着可以在不重新加载整个网页的情况下,对网页的局部内容进行更新。而传统的
2017-09-26 23:41:37 341
原创 算法——归并排序
归并排序 merge sort算法依照了分治模式 分解:将n个元素分成含n/2个元素的子序列,解决:用合并排序法对;两个子序列递归排序;合并:合并两个已排序的子序列得以排序结果。 在对子序列排序时,其长度为1时递归结束。单个元素被视为已排序好的。合并排序的关键步骤在于合并步骤的合并两个已排序子蓄力。为做合并,引入一个辅助过程,merge(A,p,q,r),其中A是个数组p、q和r是下
2017-09-22 23:12:20 260
原创 Java之HashMap底层实现原理/HashMap、HashTable、HashSet
学习笔记整理HashtableHashtable是将数据放入一个Entry数组或者Entry数组上一个Entry的链表节点。而ConcurrentHashMap是由Segment数组组成,每一个Segment可以看成一个单独的Map,然后每个Segment里又有一个HashEntry数组用来存放数据 网上的一个结构图 HashMap的工作原理HashMap基于Hashing原理,我们通过put(
2017-09-22 01:39:14 574
原创 算法——快速排序
算法描述分治法: 1.分解:数组A[p…r]被划分为两个子数组A[p..q-1]和A[q+1,r],使得A[q]为大小居中的数,左侧A[p..q-1]中的每个元素都小于等于它,而右侧A[q+1,r]中的每个元素都大于等于它,其中计算下标q也是划分过程的一部分。 2.解决:通过递归调用快速排序,对于子数组A[p..q-1]和A[q+1,r]进行排序 3.合并:因为子数组都是原址排序的,所以不需要
2017-09-21 01:14:11 289
原创 算法基础——插入排序
思路插入排序就像排一手扑克牌,我们每次从桌子上拿走一张牌并将它插入左手中正确的位置。为了找到一张牌的正确位置,我们从右到左将它与已在手中的每张牌进行比较。 #伪代码for j = 2 to A.length key = A[j] i = j - 1 while i > 0 and A[i] > key A[i+1] = A[i] i = i - 1 A[i
2017-09-20 19:12:05 270
原创 eclipse创建Maven失败
用IDEA一段时间后,重新开eclipse创建Maven项目居然失败了,有点强迫症的我非得找出原因不可, 解决Could not resolve archetype org.apache.maven.archetypes:maven-archetype-quickstart 这类东西错误提示并不是那么好看,在我的看来。 检查maven setting.xml中镜像为 <mir
2017-09-20 11:32:14 2924
原创 知识点记录之Integer
记录自己做题时候遇到的坑。 Integer i01=59; int i02=59; Integer i03=Integer.valueOf(59); Integer i04=new Integer(59); 以下输出结果为false的是: System.out.println(i01==i02); System.out.println(i01==i03); System.out.pr
2017-09-19 19:15:12 515
原创 设计模式之Singleton模式
笔记贴,记录学习 单例的好处 1、减少内存的占用 2、单例模式会阻止其他对象实例化其自己的单例对象的副本,从而确保所有对象都访问唯一实例。 3、因为类控制了实例化过程,所以类可以灵活更改实例化过程 缺点 1、开销 虽然数量很少,但如果每次对象请求引用时都要检查是否存在类的实例,将仍然需要一些开销。可以通过使用静态初始化解决此问题。 2、可能的开发混淆
2017-09-19 13:45:08 350
原创 业务逻辑
记录摘录贴 所谓软件产品,一定是在某个领域内去实现某些业务 狭义的认识分解过程 当我们把这么一个“狭义中的狭义业务逻辑”与“业务逻辑”等同起来时,误会、迷茫、困惑、不屑就出现了。这就如同,给你一只温顺的哈巴狗,还是病怏怏的、无精打采的小哈巴狗,而你把这只“病怏怏的小哈巴狗”与“狗”的概念等同起来了。那么你一定就会为有人养狗看家和警察养狗当警犬抓坏人而困惑:这东西这么弱小,我一脚就踩死了,怎么
2017-09-15 20:14:05 547
原创 最优二叉搜索树
个人学习记录贴 最优二叉搜索树设集合S为排序的n个元素x1<X2<...<Xn,将这些元素存储在一棵二叉树的节点上,以查找x是否存在这些数中,如果x不在,确定x在那个空隙。检索方法:1.初始,x与根元素比较;2.x<根元素,递归进入左子树;3.x>根元素,递归进入右字数;4.x=根元素,算法停止,输出x。5.x到达叶节点,算法停止,输出x不在数组中。存取概率不等情况空隙: (-∞, x1),
2017-09-15 19:21:06 1292
原创 JVM加载class文件的原理机制
JVM中类的装载是由类加载器(ClassLoader)和它的子类来实现的,Java中的类加载器是一个重要的Java运行时系统组件,它负责在运行时查找和装入类文件中的类。 由于Java的跨平台性,经过编译的Java程序需要使用某个类时,JVM会确保这个类已经被加载、连接(验证、准备和解析)和初始化。类的加载是指把类的.class文件中的数据读入到内存中,通常是创建一个字节数组读入.c
2017-09-13 18:23:52 197
原创 JAVAEE之JSP
1、<% java代码 %> 解析后会放到service方法中; 3、JSP成员声明:作为类的成员; 4、JSP注释:不会在页面中显示的(解析根本不处理) 5、JSP三大指令标签 <%@ page %><%@taglib %><%@include %>:静态导入(将多个页面的内容先加载,再一起编译)--------------------------------------------
2017-09-13 11:57:14 405
原创 JAVAEE之Servlet进阶
Servlet中的九大内置对象ServletConfig|config1、ServletConfig 对象 : init-param 节点中注册的初使化参数被封装ServletConfig对象中; 2、此对象在init方法被调用时由服务器自动创建,并通过参数传递给用户;--- 通过 init 方法拿到 ServletConfig 对象;--- getServletConfig();3、Serv
2017-09-09 00:47:56 236
原创 JAVAEE之Servlet入门
理解Servlet Servlet: A servlet is a small Java program that runs within a Web server. Servlets receive and respond to requests from Web clients, usually across HTTP, the HyperText Transfer Protocol.
2017-09-09 00:31:39 259
原创 JAVAEE之web基础知识
持续更新 理解Web1、WEB应用程序的结构(采用JSP技术开发的WEB应用程序) —META-INF —WEB-INF –class –lib –web.xml —JSP页面|基它资源 2、在Eclispe中创建一个Web应用程序(网站) 3、理解WEB应用程序的工作模式:请求、响应模式 Client(brows) <------
2017-09-09 00:26:32 308
原创 JAVAEE之jQuery
jQuery的编程模式:1、选择对象 2、do something4、jQuery注册事件[重点] (1)常用事件与原生JS中的事件是一样的,但注册方式不一样; (2)jQuery事件注册方式: jQuery对象.事件(fn); ----- 理解 this 关键字 jQuery对象.on(事件,fn) ----- 注册任意事件5.重点掌握datagrid控件 1、DataGrid所展
2017-09-09 00:17:02 648
原创 git分支上工作
我们一定在某个分支上工作——master分支,这是git特性决定的。关于这一点,我们可以在gitdemo目录下执行git branch命令来查看,会得到这样的结果: * master 这个命令列出现存本地分支,并以星号(*)高亮当前所在的分支。git branch -r列出远程分支git branch -a列出远程分支和本地分支我们需要在分支上工作几乎所有的版本控制系统都以某种
2017-09-08 23:39:11 276
原创 Mybatis学习
在学习Mybatis的过程中, 写程序练手,遇到的最烦的问题是org.apache.ibatis.binding.BindingException: Invalid bound statement (not found),这还是我只调用increase方法向数据库增加一条信息。打印了sqlSession,可以打印出信息。 初步猜测,是mybatis-config.xml和Book
2017-09-08 21:10:20 259
原创 使用git完成基本的版本控制
Git为目前世界上先进的分布式版本控制系统。学习git是为了维护代码的版本,希望网络上有一份永久的存储,这样我们可以将代代码退回到历史版本,和别人协作。配置用户信息git第一件事情设置自己的用户名与邮件地址。Git的提交会使用这些信息,并且它会写入到你的每一次提交中,不可更改:git config --global user.name “zhangsan”git config --global
2017-09-08 16:56:03 330
原创 JSON详解
本篇本人学习理解JSON的学习记录用,共同进步,欢迎指点。JSON概念 JSON(JavaScript Object Notation),即JavaScript对象表示法,它是用于轻量级数据交互,完全独立于语言的 文本格式,取代XML格式的繁琐标记。JSON易于程序员阅读和编写,同时也易于机器解析生成。 JSON的两种结构 JSON有两种结构:1、对象。2、数组 1。对象:对象在js
2017-09-08 00:03:15 254
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人