自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

笃行淡言

用技术实现价值

  • 博客(41)
  • 资源 (3)
  • 收藏
  • 关注

原创 fail-fast理解

fail-fast也称快速失败,在所有集合的iterator中都有这个机制,他是在iterator中实现的fail-fast的原理其实很简单,就是在类中定义一个初始的整型值,然后在迭代开始的时候获得这个初始值,并在迭代的过程中每次都比较这个获得的初始值与原来定义的初始值是否相等,如果不相等就跑出异常,不相等的来源是对原集合数据的删除或者添加,又或者是结构上的修改,这里对数据的增删改修改

2016-12-28 19:35:22 541

原创 dpkg、rpm 和 apt-get、yum 的区别

提示:这篇文章出错的可能性极大,有待后期进一步完善,谨慎参考。dpkg、rpm , apt-get、yum 这几个的具体使用可以在其他博客或者文档中获得。这里我只根据自己的理解说一下这几个的区别Windows中的安装包一般是以exe为后缀的文件。Windows中还会常见各种软件管理工具,如:360软件管家。Linux是一个统称,细分有不同的系列,如:1:  RedHat 系列:

2016-12-24 23:09:35 721

原创 Java回调通俗理解

在网上找了很多的有关Java方法回调的实例,很多时候都是看的云里雾里,现在稍微对这个有一点自己的理解,所以写下了供大家参考,可能有误,谨慎参考。说明:第一次主动调用的对象被称为“调用者”,调用者有一个调用方法A,被回调的方法AA。   被调用的那个对象被称为“受调者”,受调者被调用者调用的那个方法为B。过程:调用者方法A调用了受调者的方法B,B开始执行方法内的代码,然后这个方法在执行的

2016-12-24 20:34:17 462

原创 拦截器,过滤器

特别提醒:请认真读,你会对过滤器和拦截器的执行逻辑有更好的理解。阅读前提:你需要对过滤器和拦截器的代码逻辑有大概的了解。过滤器:与web.xml中配置,依赖于web容器,利用方法回调。作用于request和response本身所携带的数据。拦截器:一般配置于框架中,如Struts,spring,依赖于Java本身的特性,利用Java反射机制。作用于被请求的action,同时也可以执行过

2016-12-23 17:55:11 474

原创 myeclipse代码提示功能设置

正常情况下,在myeclipse中只有遇到“.”的时候才会有代码提示出现,然而我们可以改变他的提示模式,看下边步骤。去顶端的菜单栏依次点击:window----->Preferences----->java----->展开Editor----->选择“Content Assist----->去右面版找Auto-Activation中的“Auto Activation trigger

2016-12-23 15:55:42 473

原创 servlet设置编码无效

提示:耐心读,你会对response的输出流有更好的理解问题简述servlet中在response发送之前已经设置了字符编码,但是接收到的数据头部仍然采用iso-8859-1编码,原因何在。先看两段代码A代码: response.addHeader("Cache-Control", "no-cache"); response.setContentT

2016-12-19 13:40:43 1934

原创 漫谈HTML中的ul

在对ul添加事件的时候,因为事件需要被触发,而ul本身并不显示,所以无法添加事件,只能通过他的添加事件,但是这里要注意,如果给下有更多的子列表,比如列表,此时这个被当做一个整体,无论点击里边的哪个都会触发事件,而且触发以后只有当前的第一级子菜单可以显示,其他均不能。 c hello b b

2016-12-18 10:25:27 451

原创 JS下拉列表动态收缩与展开

提示:经过测试用起来效果非常好,只要你灵活地去修改以适用于自己的菜单列表,结果绝对满意,在没有自己写之前我也在网上查过许多,但是都是要么无法满足自动收缩和展开,要么就是定义复杂无法通过连接数据库批量定义,而下边的JS代码不用修改,只要按照HTML格式去为菜单父列表添加<div onclick="fuck(this)">就好,使用非常简单。简述JS代码中的intag是事...

2016-12-18 02:43:44 11814 4

转载 多级菜单自动收缩

三级折叠菜单*,body,ul,h1,h2{ margin:0; padding:0; list-style:none;}body{font:12px "宋体"; padding-top:20px;}a{ color:#777;border:none;}#menu { width:200px; margin:auto;} #menu h1 { font-size:12px; borde

2016-12-17 15:19:21 524

转载 Session应用深入解析

HttpSession常见问题1、session在何时被创建一个常见的误解是以为session在有客户端访问时就被创建,然而事实是直到某server端程序调用 HttpServletRequest.getSession(true)这样的语句时才被创建,注意如果JSP没有显示的使用  关闭session,则JSP文件在编译成Servlet时将会自动加上这样一条语句 HttpSession

2016-12-14 19:14:54 325

原创 B/S交互中为何出现乱码个人浅析

首先,客户端在请求数据的时候并不知道服务器会以什么编码返回数据,所以请求头部会含有Accept-Encoding,Accept-Charset,Accept-language等信息,这个的目的就是告诉服务器自己可以接受的各种编码和MIME类型等,但是我用代理工具拦截请求数据时发现,请求头中很少有Accept-charset这个信息,也就是说,客户端并没有指定自己可以接受的编码类型,或者说客户端可以

2016-12-14 17:37:02 640

原创 Accept-Charset,Accept-Encoding,pageEncoding,charset区别与联系

常见有关编码的设定方式:Accept-Charset,Accept-Encoding,pageEncoding,charsetAccept-Charset:是请求端在发送请求时的头部信息,这个标识的是当前客户端可以接受的字符编码(所谓字符编码就是对于可见或者不可见字符的编码方式,如utf-8,GBK等)。Accept_Encoding:也是请求端在发送请求的时候头部

2016-12-14 16:57:35 7617

原创 jsp--include指令和动作在动态引入中的区别

简单介绍jspinclude指令和动作的其他细节通过其他博客获得,这里主要介绍在具体使用的时候所出现的问题。如果要引入外部JS或者JSP文件,假设这个JS文件只用于这个被引入的JSP文件,那么此时就可以把这个JS文件直接引入到这个JSP文件,而不用每个文件去引用,但是这里要注意,如果这个JSP文件是通过JSP的include指令引入没问题,一切正常,但是当通过JSP动作引入的时候,JSP文

2016-12-14 11:20:57 619

转载 文件上传与下载

原文《http://www.cnblogs.com/xdp-gacl/p/4200090.html》 在Web应用系统开发中,文件上传和下载功能是非常常用的功能,今天来讲一下JavaWeb中的文件上传和下载功能的实现。  对于文件上传,浏览器在上传的过程中是将文件以流的形式提交到服务器端的,如果直接使用Servlet获取上传文件的输入流然后再解析里面的请求参数是比较麻烦,所以一般选

2016-12-14 10:37:22 285

原创 表单文件上传后台处理程序

链接-->用到两个jar包:commons-io-2.5.jar commons-fileupload-1.3.2.jarpackage com.controls;import java.io.File;import java.io.FileOutputStream;import java.io.IOException;import java.io.InputStream;

2016-12-14 09:56:12 2511

原创 多个选择框自动下拉和隐藏

注意:用到了BootstrapJSP代码: <a data-toggle="dropdown" id="axy" class="dropdown-toggle" href="#">学院 计算机科学与技术 通信工程 艺术与设计 地质勘测 文学与园艺        <a

2016-12-14 00:47:37 806

原创 Linux下调整屏幕分辨率

使用的命令:xrandr    cvt  (如果没有则通过相应的安装命令去安装)查看当前屏幕分辨率列表 xrandr设置屏幕分辨率 xrandr -s 1920x1080_60.00一般情况下不需要添加新的屏幕分辨率,所以这里不细说,等到真的要添加的时候再去查找

2016-12-08 17:34:32 12190

原创 DAO模式

DAO(Data Access Object):数据访问对象     属于JAVAEE的数据层的操作,用来完成数据库的访问,实现基本的CURD数据库操作DAO包括五个部分:   1.   数据库连接类                  实现数据库连接封装的操作   2.    javabean类                    对应数据库中的表     每个b

2016-12-08 16:54:14 334

原创 Linux状态监测

这里推荐一款web端监测工具Netdata,个人感觉比较不错监测内容:这是它目前检测的内容(大多数都不需要进行配置,安装后即可开始监测)a.CPU的使用率,中断,软中断和频率(总量和每个单核)b.RAM,互换和内核内存的使用率(包括KSM和内核内存deduper)c.硬盘输入/输出(每个硬盘的带宽,操作,整理,利用等)d.IPv4网络(数据包,错误,分片):TCP:连接

2016-12-07 15:40:29 392

原创 Linux-Putty-SSH

Putty远程Linux需要被远程主机的IP,而平时我们用的计算机都是处于局域网,拥有的是内网IP无法在广域网中直接使用,因此Putty一般情况下只能用于局域网(理解可能有误);为了链接安全我们一般使用会话加密的SSH协议,这就需要被远程主机上必须安装SSH服务。Linux(Ubuntu)系统SSH服务安装方式:sudo apt-get install openssh-server

2016-12-07 14:02:00 356

转载 Linux安装Firefox

第一步:到官方网站下载最新版本的firefox,网址如下:http://www.firefox.com.cn/download/第二步:把下载的文件拷贝到/usr/local目录下sudo mv  Firefox**.tar.gz    /usr/local第三步:进入/usr/local,解压Firefox**.tar.gzsudo tar -jxvf   Firef

2016-12-07 13:04:49 3554

转载 Linux系统详解(二)

linux文件系统文件系统指文件存在的物理空间,linux系统中每个分区都是一个文件系统,都有自己的目录层次结构。linux会将这些分属不同分区的、单独的文件系统按一定的方式形成一个系统的总的目录层次结构。一个操作系统的运行离不开对文件的操作,因此必然要拥有并维护自己的文件系统。文件系统类型:ext2 : 早期linux中常用的文件系统

2016-12-06 10:27:22 151

转载 Linux 系统结构详解(一)

Linux系统一般有4个主要部分:内核、shell、文件系统和应用程序。内核、shell和文件系统一起形成了基本的操作系统结构,它们使得用户可以运行程序、管理文件并使用系统。部分层次结构如图1-1所示。1、linux内核内核是操作系统的核心,具有很多最基本功能,它负责管理系统的进程、内存、设备驱动程序、文件和网络系统,决定着系

2016-12-06 10:25:27 419

转载 JSP2.0表达式语言

EL语法 EL的语法很简单,他最大的特点就是使用上很方便 例: ${sessionScope.user.sex} 所有EL都是以${ 为起始、以} 为结尾的。 上述EL范例的意思是:从Session取得用户的性别。如果使用之前JSP代码的写法如下:    User user = (User)session.getAttribute("user");   St

2016-12-06 10:25:00 787

原创 JSP指令

一.指令元素指令一般用表示,主要作用于全局页面数据1.page指令import:   导入包。session:页面是否参与session会话,true表示开启,隐含创建新的session,false则相反;默认为true。contentType:表示当前页面的编码类型,比如html或者excel等buffer:当前页面的发送缓存,默认为noneisTreadSafe

2016-12-06 09:22:21 261

原创 java会话跟踪技术

简介:java会话跟踪当前知道的有四种方式:URL重写,隐藏表单,Cookie,Session等。。。。。。URL重写:URL本身可以添加一些键值对,对于服务器而言跟传入表单数据并没有太大的区别。比如get请求中的表单数据就在URL上,而Post则在请求的主体中。隐藏表单:客户端与服务器的交互一般总是通过提交表单的方式进行的,在表单提交的时候就可以隐含地发送一些数据作为

2016-12-05 17:05:30 2365

原创 浏览器发送cookie规则

前言:cookie与session的机制通过其他博客去了解,这里只讲浏览器将cookie返回给服务器的时候的依据。浏览器在发送请求之前,首先会根据请求url中的域名在cookie列表中找所有与当前域名一样的cookie,然后将所有与当前域名对应的cookie一起发送给服务器(我之前的理解是:根据域名和服务器文件路径来决定的,如果真的是这样那么在客户端将会存放大量的cookie),而

2016-12-05 12:28:15 7465 1

原创 当参数缺失或异常时重新显示输入表单

a)         由同一servlet提供表单、处理数据并提供最后的结果。表单省略Action属性,从而,表单提交时会自动发送到表单自身的URL。b)        由一个servlet提供表单:由第二个servlet处理数据并提供结果。从一个servlet转到另外的servlet可以使用response.sendredirect或RequestDispatcher的forward

2016-12-05 11:06:25 1110

原创 servlet获得请求数据空串与null

服务器的servlet在获得请求数据的时候通过getParameter(String)方法获得,请求数据都是键值对,当请求数据中有string对应的键而没有对应的值的时候返回空串,当请求数据中既没有对应的键也没有对应的值的时候返回null,所以在获得请求数据的时候一定要注意null判断,以防出现null异常

2016-12-05 10:35:26 1008

转载 mysql的group by ...... rollup

在group by之后添加rollup其实就是为分组以后的小组进行数据统计,当针对一个字段分组的时候则统计一次,如果是针对多个字段进行的分组那么最后需要针对每一个分组进行一次统计。实例如下:rollup 是根据维度在数据结果集中进行的聚合操作。假设用户需要对N个唯独进行聚合查询操作,普通的group by语句需要N个查询和N次group by操作。而rollup的有点是一次可以

2016-12-02 17:44:37 5924 2

转载 mysql中取随机数据

在mysql官方手机我们会看到mysql随机抽取数据我们只要使用RAND() RAND(N) 即可实现随机从表中取出数据,下面我们一起来看看。rand在手册里是这么说的:RAND()RAND(N)例 代码如下复制代码SELECT * FROM table_name ORDER BY rand() LIMIT 5;

2016-12-02 17:23:01 512

原创 mysql---like-REGEXP

1.  Mysql的正则表达式仅仅使SQL语言的一个子集,可以匹配基本的字符、字符串。 例如:select * from wp_posts where post_name REGEXP 'hello',可以检索出列post_name中所有包含hello的行     REGEXP '.og'  .是正则表达式中里一个特殊的字符。它表示匹配一个字符,因此,dog,hog,mog等等都能匹配。

2016-12-02 17:07:46 1702

转载 mysql巧用正则表达式

MySQL的正则表达式1.  Mysql的正则表达式仅仅使SQL语言的一个子集,可以匹配基本的字符、字符串。 例如:select * from wp_posts where post_name REGEXP 'hello',可以检索出列post_name中所有包含hello的行     REGEXP '.og'  .是正则表达式中里一个特殊的字符。它表示匹配一个字符

2016-12-02 17:07:02 1977

转载 Mysql的sql_mode

Mysql SQL Mode简介MySQL服务器能够工作在不同的SQL模式下,并能针对不同的客户端以不同的方式应用这些模式。这样,应用程序就能对服务器操作进行量身定制以满足自己的需求。这类模式定义了MySQL应支持的SQL语法,以及应该在数据上执行何种确认检查。这样,就能在众多不同的环境下、与其他数据库服务器一起更容易地使用MySQL。可以使用“--sql-mode="modes"”选项,通过

2016-12-02 16:47:30 307

转载 Java多态理解

Java多态性理解Java中多态性的实现什么是多态面向对象的三大特性:封装、继承、多态。从一定角度来看,封装和继承几乎都是为多态而准备的。这是我们最后一个概念,也是最重要的知识点。多态的定义:指允许不同类的对象对同一消息做出响应。即同一消息可以根据发送对象的不同而采用多种不同的行为方式。(发送消息就是函数调用)实现多态的技术称为:动态绑定(dynamic

2016-12-01 15:57:30 268

原创 正确理解Java的反射机制

Java的反射指的是Java程序本身可以获得自己当前对象或者类当前的状态,并且可以修改它。所谓的可以动态加载类,这个说法是针对类的加载机制,并不是Java反射的范围。JAVA反射机制是在运行状态中,对于任意一个类,都能够知道这个类的所有属性和方法;对于任意一个对象,都能够调用它的任意一个方法和属性;这种动态获取的信息以及动态调用对象的方法的功能称为java语言的反射机制

2016-12-01 15:23:31 508

转载 java动态代理详解(好文)

引言Java 动态代理机制的出现,使得 Java 开发人员不用手工编写代理类,只要简单地指定一组接口及委托类对象,便能动态地获得代理类。代理类会负责将所有的方法调用分派到委托对象上反射执行,在分派执行的过程中,开发人员还可以按需调整委托类对象及其功能,这是一套非常灵活有弹性的代理框架。通过阅读本文,读者将会对 Java 动态代理机制有更加深入的理解。本文首先从 Java 动态代理的运行机制

2016-12-01 14:41:37 1007

转载 Java动态代理生成方式

静态代理:由程序员创建或特定工具自动生成源代码,再对其编译。在程序运行前,代理类的.class文件就已经存在了。 动态代理:在程序运行时,运用反射机制动态创建而成。       在Java的java.lang.reflect包下提供一个Proxy类和一个InvocationHandler接口,通过使用这个类和接口可以生成jdk动态代理类或动态代理对象。

2016-12-01 14:40:17 614

转载 导入项目乱码解决方法

将别人的项目或JAVA文件导入到自己的Eclipse中时,常常会出现JAVA文件的中文注释变成乱码的情况,主要原因就是别人的IDE编码格式和自己的Eclipse编码格式不同。总结网上的建议和自己的体会,可以参考以下几种解决方式: 1 改变整个文件类型的编码格式    1)  eclipse->window->preferences->General->Content Typ

2016-12-01 12:54:52 1174

转载 JVM垃圾回收算法

常用的垃圾回收算法有:(1).引用计数算法:给对象中添加一个引用计数器,每当有一个地方引用它时,计数器值就加1;当引用失效时,计数器值就减1;任何时刻计数器都为0的对象就是不再被使用的,垃圾收集器将回收该对象使用的内存。引用计数算法实现简单,效率很高,微软的COM技术、ActionScript、Python等都使用了引用计数算法进行内存管理,但是引用计数算法对于对象之间相互

2016-12-01 12:37:21 213

maven详解.emmx

将maven知识整理为详细的思维导图,均为学习过程中的知识整理,方便记忆和复习,内容非常详尽,建议收藏,也可以根据该导图学习maven相关知识

2020-02-12

SVN代码自动更新(双击运行即可)

可以实现SVN的定时自动更新,时间自定义。 使用方法:每天上班只需要双击该脚本即可,或者重启电脑后双击即可,可以实现代码实时更新。也可以编辑该脚本的更新时间

2018-09-18

Intellj快捷键

Intellj快捷键分享,比较实用,自己整理,有误可提出来共同优化,学会IntellJ的快捷键使用可以提升编码效率

2018-08-04

空空如也

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

TA关注的人

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