- 博客(61)
- 资源 (1)
- 收藏
- 关注
原创 HashMap之扩容原理
一、什么是HashMap?HashMap 数据结构为 数组+链表(JDk1.7),JDK1.8中增加了红黑树,其中:链表的节点存储的是一个 Entry 对象,每个Entry 对象存储四个属性(hash,key,value,next)二、为什么要使用HashMap?对于要求查询次数特别多,查询效率比较高同时插入和删除的次数比较少的情况下,通常会选择ArrayList,因为它的底层是通过数组实现的。对于插入和删除次数比较多同时在查询次数不多的情况下,通常会选择LinkedList,因为它的底层是通过链
2022-04-08 14:15:07
21738
2
原创 RPC和RESTful的区别
RPC(Remote Procedure Call,RPC),即远程过程调用,最近几年频繁被各种论坛,文章,课程提及,乍一看还以为是什么牛逼的新技术,其实在计算机科学中已经存在超过四十年时间,是个不折不扣的“老古董”。RPC出现的最初目的,就是为了让计算机能够与调用本地方法一样去调用远程方法。我们先来看一下计算机是如何调用本地方的,我抄录了书中的例子:// Caller : 调用者,代码里的main()// Callee : 被调用者,代码里的println()// Call
2022-04-07 23:19:27
322
原创 一探SOAP, gRPC, REST
RPC在网络世界里,不同机器要怎么互相通信?最基础的方法是基于 TCP/IP 通过 Socket 编程去实现调用方和被调用方。但是 Socket 编程的难度大,需要比较强的专业性,实现又复杂,如果每一次机器之间要通信时,程序员都要手动去处理这么多,这就让新手能做的,变成了要精通网络的老师傅才能完成。有没有什么更好的办法呢?在 1984 年,Bruce Jay Nelson 发表了奠定基础性的论文Implementing Remote Procedure Call,定义了机器之间互通这种远程调用的标.
2022-04-07 23:16:07
314
转载 Java内存分配
通常Java内存分配会涉及到以下几个区域:寄存器:在CPU内部,通常开发人员不能通过代码来控制的部分,主要是有编译器自己来管理的栈:存放基本类型的数据和对象的引用,对象本身不存放在栈中,而是存放在堆中堆:存放对象,也就是通常在Java中new产生的数据静态区域:存放程序中定义的static的静态成员常量池:存放常量,如final定义的非RAM存储:硬盘等永久存储空间,如持久化对象等等
2015-12-04 17:36:08
465
转载 Java多态之重写<一>
Java多态之重写Overriding,先看一段代码:package com.test;class A{ public void say(){ System.out.println("Hello ,A"); }}class B extends A{ public void say(){ System.out.printl
2015-12-04 17:26:12
361
转载 Eclipse+Maven命令创建webapp项目<三>
1、使用maven命令:mvn archetype:create -DgroupId=xxxxx -DartifactId=web-sample -DarchetypeArtifactId=maven-archetype-webapp然后执行mvn eclipse:eclipse 使项目兼容Eclipse
2015-12-04 17:25:07
381
转载 Eclipse+Maven创建webapp项目<一>
Eclipse+Maven创建webapp项目1、开启eclipse,右键new——》other,如下图找到maven project2、选择maven project,显示创建maven项目的窗口,勾选如图所示,Create a simple project3、输入maven项目的基本信息,如下图所示:4、完成maven项目的创建,生成相应
2015-12-04 17:24:26
599
转载 Eclipse+Maven创建webapp项目<二>
Eclipse+Maven创建webapp项目1、开启eclipse,右键new——》other,如下图找到maven project 2、选择maven project,显示创建maven项目的窗口,此次不勾选Create a simple project,直接next,如图所示: 3、在Filter中搜索webapp,选择如图所示,并ne
2015-12-04 17:22:12
371
转载 解决Maven关于本地jar包的打包处理
在使用maven进行jar包管理时,通过我们都是通过maven去下载一些jar包,但有些jar在maven上没有,所以就就可能在本地直接手动加入一些需要用到的外部jar包。但如果我们用maven package打包就会发现,本地的那些jar是不能被maven识别的,所以就需要解决Maven关于本地jar包的打包处理的问题。 还好maven中有提供这样的配置,在pom文件中通过配
2015-12-04 17:20:23
447
转载 搭建Spring、Spring MVC、Mybatis和Freemarker
搭建Spring、Spring MVC、Mybatis和Freemarker1、pom文件project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apac
2015-12-04 16:56:36
389
转载 浅谈jsp、freemarker、velocity区别
以前做web开发页面层用的基本就是就是,最近公司java项目页面层用的技术是velocity。听说jsp要淘汰,也不知道是真是假,但本人还是比较喜欢jsp的,下面是网上查找的javaweb项目页面3种技术的区别。在java领域,表现层技术主要有三种:jsp、freemarker、velocity。jsp是大家最熟悉的技术优点:1、功能强大,可以写java代码2、支持
2015-11-10 13:42:09
356
转载 一篇很全面的freemarker教程
以下内容全部是网上收集: FreeMarker的模板文件并不比HTML页面复杂多少,FreeMarker模板文件主要由如下4个部分组成: 1,文本:直接输出的部分 2,注释:格式部分,不会输出 3,插值:即${...}或#{...}格式的部分,将使用数据模型中的部分替代输出 4,FTL指令:FreeMarker指定,和HTML标记类似,名字前加#予以区分,不会输出
2015-11-10 10:00:26
811
转载 Git学习笔记
前一段时间在Github上用Octopress搭建了博客,从此,就需要和Git不断打交道,虽然用到的Git命令不是很多。刚好,这几天x64移植项目告一段落,有了点空闲时间,想想还是系统地去学习一下Git吧。当然,学习Git,我也希望在今后的开发中能够用Git来管理自己的Code,结束之前那种最原始的、靠每天备份的笨方法。关于Git的教程,网上有不少,感觉用的人也挺多的,所以
2015-11-09 11:48:45
436
转载 FusionCharts的使用方法
今天统计价格变化规律的时候找到的一个很好的文档,很详细一、简介Ø FusionCharts 是InfoSoft Global 公司的一个产品,InfoSoft Global 公司是专业的Flash 图形方案提供商,他们还有几款其他的,基于Flash 技术的产品,都非常的漂亮。Ø FusionCharts Free 则是FusionCharts 提供的一个免费版本,虽然免费,功能依然强大
2015-06-24 17:25:26
386
原创 中文图片名页面显示的问题
tomcat不能显示中文原因主要是编码的问题,因为Tomcat5的http Connector所用的URI解码默认用的是 ISO-8859-1,而一般浏览器默认用的发送编码为UTF-8,这样问题就出现了,初步的解决方法如下:在server.xml中类似如下配置:maxSpareThreads="75" enableLookups="false" redirectPort="
2015-03-31 10:44:12
409
原创 JSP页面如何显示(绝对路径)本地图片
大家有没有遇到过JSP页面里面写img标签,然后跟绝对路径,"图片就是显示不出来的问题,直接打开HTML文件不就是这么显示图片的么?关键问题是JSP是运行在服务器上的(以Tomcat为例),服务器是有个根路径的,如果你用绝对路径前面是有个http://localhost:8080/×××这么一串路径的,那怎样显示本地的图片呢?下面讲一种比较简单的方法这个方法就是设置虚拟目录,也
2015-03-31 10:41:08
6456
转载 js页面跳转整理
js方式的页面跳转1.window.location.href方式 window.location.href="target.aspx"; 2.window.navigate方式跳转 window.navigate("target.aspx"); 3.window.loction.replace方式
2015-02-28 14:23:37
590
转载 SpringMVC学习系列-后记 解决GET请求时中文乱码的问题
之前项目中的web.xml中的编码设置:filter> filter-name>CharacterEncodingfilter-name> filter-class>org.springframework.web.filter.CharacterEncodingFilterfilter-class> init-param>
2015-01-06 22:14:08
616
转载 SpringMVC学习系列-后记 开启项目的OpenSessionInView
在系列的 SpringMVC学习系列(12) 完结篇 的示例项目中,由于当时考虑到OpenSessionInView会对性能有一定的影响,所以就没有配置项目的OpenSessionInView。在mapping文件的配置中比如:Account.hbm.xml为了账户登录系统时查询方便,所以在映射Role时直接采用了lazy="false",而且在Role映射权限Authority时也直接采用了la
2015-01-06 22:13:55
793
转载 SpringMVC学习系列(11) 之 表单标签
本篇我们来学习Spring MVC表单标签的使用,借助于Spring MVC提供的表单标签可以让我们在视图上展示WebModel中的数据更加轻松。一.首先我们先做一个简单了例子来对Spring MVC表单表单标签的使用有一个大致的印象,然后再结合例子对各个标签介绍一下如何使用。1.首先,在com.demo.web.models包中添加一个模型TagsModel内容如下:
2015-01-06 21:53:52
395
转载 SpringMVC学习系列(10) 之 异常处理
在项目中如何处理出现的异常,在每个可能出现异常的地方都写代码捕捉异常?这显然是不合理的,当项目越来越大是也是不可维护的。那么如何保证我们处理异常的代码精简且便于维护呢?这就是本篇要讲的内容—>异常处理。在Spring MVC中我们可以通过以下2中途径来对异常进行集中处理:一.继承HandlerExceptionResolver接口实现自己的处理方法,如:public c
2015-01-06 21:53:04
365
转载 SpringMVC学习系列(9) 之 实现注解式权限验证
对大部分系统来说都需要权限管理来决定不同用户可以看到哪些内容,那么如何在Spring MVC中实现权限验证呢?当然我们可以继续使用servlet中的过滤器Filter来实现。但借助于Spring MVC中的action拦截器我们可以实现注解式的权限验证。一.首先介绍一下action拦截器:HandlerInterceptor是Spring MVC为我们提供的拦截器接口,来让我们实现
2015-01-06 21:52:27
415
转载 SpringMVC学习系列(8) 之 国际化
在系列(7)中我们讲了数据的格式化显示,Spring在做格式化展示的时候已经做了国际化处理,那么如何将我们网站的其它内容(如菜单、标题等)做国际化处理呢?这就是本篇要将的内容—>国际化。一.基于浏览器请求的国际化实现:首先配置我们项目的springservlet-config.xml文件添加的内容如下:bean id="messageSource" class="org.s
2015-01-06 21:36:56
460
转载 SpringMVC学习系列(7) 之 格式化显示
在系列(6)中我们介绍了如何验证提交的数据的正确性,当数据验证通过后就会被我们保存起来。保存的数据会用于以后的展示,这才是保存的价值。那么在展示的时候如何按照要求显示?(比如:小数保留一定的位数,日期按指定的格式等)。这就是本篇要说的内容—>格式化显示。从Spring3.X开始,Spring提供了Converter SPI类型转换和Formatter SPI字段解析/格式化服务,其中Con
2015-01-06 21:36:05
361
转载 SpringMVC学习系列(6) 之 数据验证
在系列(4)、(5)中我们展示了如何绑定数据,绑定完数据之后如何确保我们得到的数据的正确性?这就是我们本篇要说的内容 —> 数据验证。这里我们采用Hibernate-validator来进行验证,Hibernate-validator实现了JSR-303验证框架支持注解风格的验证。首先我们要到http://hibernate.org/validator/下载需要的jar包,这里以4.3.1
2015-01-06 21:34:38
408
转载 SpringMVC学习系列(5) 之 数据绑定-2
在系列(4)中我们介绍了如何用@RequestParam来绑定数据,下面我们来看一下其它几个数据绑定注解的使用方法。1.@PathVariable 用来绑定URL模板变量值,这个我们已经在系列(3)中介绍了使用方法,这里不在赘述。2.@CookieValue 用来绑定Cookie中的数据。下面我们用获取Cookie中的sessionId做测试:在DataBindContro
2015-01-06 21:33:21
408
转载 SpringMVC学习系列(4) 之 数据绑定-1
在系列(3)中我们介绍了请求是如何映射到一个action上的,下一步当然是如何获取到请求中的数据,这就引出了本篇所要讲的内容—数据绑定。首先看一下都有哪些绑定数据的注解:1.@RequestParam,绑定单个请求数据,可以是URL中的数据,表单提交的数据或上传的文件; 2.@PathVariable,绑定URL模板变量值; 3.@CookieValue,绑定Cookie数
2015-01-06 21:33:10
355
转载 SpringMVC学习系列(3) 之 URL请求到Action的映射规则
在系列(2)中我们展示了一个简单的get请求,并返回了一个简单的helloworld页面。本篇我们来学习如何来配置一个action的url映射规则。在系列(2)中我们在HelloWorldController上配置了一个@RequestMapping(value = "/helloworld")这表示对该controller的所有action请求必须是以"/helloworld”开始。
2015-01-06 19:49:56
488
转载 SpringMVC学习系列(2) 之 经典的HelloWorld实现
前一篇简单介绍了Spring MVC的一些知识,下面就要开始学习如何把Spring MVC运用到具体的项目中去。首先还是从一个简单的Hello World项目说起: 我机器的开发环境为:Ubuntu12.04(不同操作系统对本系列项目没有影响);开发工具:Eclipse For JavaEE;数据库:MySql5.5.35;运行环
2015-01-06 19:49:45
491
转载 SpringMVC学习系列(1) 之 初识SpringMVC
1.前言:与SpringMVC的结识源于个人之前想做一个微信公众账号的管理平台玩玩,既然要做就需要考虑平台的选择问题。由于我的朋友只有一台运行了Linux系统的虚拟主机,且上面还运行有他自己的一些论坛。找不到windows虚拟主机,且肯定不能换朋友主机的系统。刚开始时打算用mono把之前做的.Net MVC项目搭的框架运行一下看看能不能用,发现根本跑不起来(项目用了Spring.NET当时
2015-01-06 19:48:51
510
转载 SpringMVC学习系列(12) 完结篇 之 基于Hibernate+Spring+Spring MVC+Bootstrap的管理系统实现
到这里已经写到第12篇了,前11篇基本上把Spring MVC主要的内容都讲了,现在就直接上一个项目吧,希望能对有需要的朋友有一些帮助。一、首先看一下项目结构:InfrastructureProjects:是抽取出的基础项目,主要封装了一些通用的操作。SpringMVC3Demo:就是管理系统所在的项目。WeiXinAPI:是之前做微信管理平台测试时封装一些
2015-01-06 19:40:05
1217
原创 Hibernate3注解
一。实体Bean 每个持久化POJO类都是一个实体Bean, 通过在类的定义中使用 @Entity 注解来进行声明。声明实体Bean@Entitypublic class Flight implements Serializable { Long id; @Id public Long getId() { return id; } public void s
2015-01-06 10:00:54
463
转载 BootStrap入门教程 (四)
上讲回顾:Bootstrap组件丰富同时具有良好可扩展性,能够很好地应用在生产环境。这些组件包括按钮(Button),导航(Navigation),缩略图( thumbnails),提醒(Alert),进度条(progress bar)等,能够很好减少前端工程师的代码量,实现更加丰富充实的页面。 Bootstrap作为一套良好的前端工具,要实现现代的动态页面效果,javascri
2015-01-04 17:08:24
534
转载 BootStrap入门教程 (三)
上讲回顾:Bootstrap的基础CSS(Base CSS)提供了优雅,一致的多种基础Html页面要素,包括排版,表格,表单,按钮等,能够满足前端工程师的基本要素需求。 Bootstrap作为完整的前端工具集,内建了大量的强大优雅可重用的组件,包括按钮(Button),导航(Navigation),标签(Labels),徽章(Badges),排版(Typography),缩略图( t
2015-01-04 17:05:57
730
转载 BootStrap入门教程 (二)
上讲回顾:Bootstrap的手脚架(Scaffolding)提供了固定(fixed)和流式(fluid)两种布局,它同时建立了一个宽达940px和12列的格网系统。 基于手脚架(Scaffolding)之上,Bootstrap的基础CSS(Base CSS)提供了一系列的基础Html页面要素,旨在为用户提供新鲜、一致的页面外观和感觉。本文将主要深入讲解排版(Typography),
2015-01-04 17:04:41
587
转载 BootStrap入门教程 (一)
2011年,twitter的“一小撮”工程师为了提高他们内部的分析和管理能力,用业余时间为他们的产品构建了一套易用、优雅、灵活、可扩展的前端工具集--BootStrap。Bootstrap由MARK OTTO和Jacob Thornton所设计和建立,在github上开源之后,迅速成为该站上最多人watch&fork的项目。大量工程师踊跃为该项目贡献代码,社区惊人地活跃,代码版本进化非常快速,
2015-01-04 17:02:48
579
转载 javascript深入理解js闭包
一、变量的作用域 要理解闭包,首先必须理解Javascript特殊的变量作用域。 变量的作用域无非就是两种:全局变量和局部变量。 Javascript语言的特殊之处,就在于函数内部可以直接读取全局变量。 Js代码 var n=999; function f1(){ alert(n); } f1(); // 999另一方面,在函数外部自然无
2014-12-29 17:51:52
291
转载 java 调用webservice的各种方法总结
现在webservice加xml技术已经逐渐成熟,但要真正要用起来还需时日!! 由于毕业设计缘故,我看了很多关于webservice方面的知识,今天和大家一起来研究研究webservice的各种使用方法。 一、利用jdk web服务api实现,这里使用基于 SOAP message 的 Web 服务 1.首先建立一个Web services EndPoint:
2014-12-26 17:32:35
450
转载 Ext JS下载及配置
1、Ext JS下载 Ext JS官方网站:http://www.sencha.com/ 当前下载的最新版本为ext-4.0.7-gpl.zip,解压之后文件目录结构如下图所示: 文件目录主要资源说明: 1、builds目录是ExtJS压缩后的代码,经过压缩的代码体积更小,加载更快。 2、docs目录是ExtJS的文档,其中最重要的是ExtJS的API。 3
2014-12-24 10:31:17
875
转载 DWZ简介及其使用
DWZ简介: DWZ富客户端框架(jQuery RIA framework),是中国人自己开发的基于jQuery实现的Ajax RIA开源框架。 DWZ富客户端框架设计目标是简单实用、扩展方便、快速开发、RIA思路、轻量级。 DWZ框架支持用HTML扩展的方式来代替JavaScript代码,只要懂HTML语法, 再参考DWZ使用手册就可以做Ajax开发。 开
2014-12-22 13:24:27
5269
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人