- 博客(436)
- 资源 (32)
- 收藏
- 关注
转载 数据库的锁机制
咱们在数据库的“读现象”浅析中介绍过,在并发访问情况下,可能会出现脏读、不可重复读和幻读等读现象,为了应对这些问题,主流数据库都提供了锁机制,并引入了事务隔离级别的概念。并发控制在计算机科学,特别是程序设计、操作系统、多处理机和数据库等领域,并发控制(Concurrency control)是确保及时纠正由并发操作导致的错误的一种机制。数据库管理系统(DBMS)中的并发控制的任务是确保在多个事务同时
2017-04-07 17:13:48 1255
原创 出现 HessianConnectionException: HessianProxy cannot connect to XXX 错误的原因及解决方法
1 异常描述在测试接口实现类ErrorCodeFacadeImpl的过程中,报出如下错误:2 异常原因通过观察上面的错误描述,咱们可以知道错误原因:Caused by:java.io.FileNotFoundException:http://localhost:8014/pp-config-hessian/hessian/ErrorCodeFacade也就是文件未找到异常,说白了,就是上面的请求路径
2017-04-07 16:55:12 10488
原创 出现 java.lang.OutOfMemoryError: PermGen space 错误的原因及解决方法
1 异常描述在正常启动 Tomcat 的时候,报出如下错误:2 异常原因通过观察上面的错误描述,咱们可以知道错误原因: java.lang.OutOfMemoryError: PermGen space,即内存溢出。3 解决方法进入Run/Debug Configuration页面,修改虚拟机参数为:“ -Xms1024M -Xmx2048M -XX:PermSize=128M -XX:MaxPe
2017-04-07 15:55:41 21080
转载 彻底理解数据库事务
在计算机术语中,事务(Transaction)是指访问并可能更新数据库中各种数据项的一个程序执行单元(unit),通常就是指数据库事务。概念一个数据库事务通常包含对数据库进行读或写的一个操作序列。它的存在有以下两个目的:为数据库操作提供了一个从失败中恢复到正常状态的方法,同时提供了数据库即使在异常状态下仍能保持一致性的方法;当多个应用程序在并发访问数据库时,可以在这些应用程序之间提供一个隔离方法
2017-04-06 18:07:40 2069
转载 数据库的“读现象”浅析
“读现象”是多个事务并发执行时,在读取数据方面可能碰到的状况,了解它们有助于咱们理解各隔离级别的含义,其中包括脏读、不可重复读和幻读。脏读脏读又称无效数据的读出,是指在数据库访问中,事务T1将某一值修改,然后事务T2读取该值,此后T1因为某种原因撤销对该值的修改,这就导致了T2所读取到的数据是无效的。说白了,脏读就是指当一个事务正在访问数据,并且对数据进行了修改,而这种修改还没有提交到数据库中,这时
2017-04-06 15:28:35 1251 2
原创 详述 Java 中过滤器 Listener 的工作原理及使用方法
1 监听器概念监听器 Listener 就是一个实现特定接口的 Java 程序,它是随 web 应用的启动而启动,只初始化一次,随 web 应用的停止而销毁。监听器的主要作用是:做一些初始化的内容添加工作或者设置一些基本的内容等等,例如监听器就可以用于统计在线人数或者自定义 session 扫描器等等。2 监听器分类根据监听的对象不同,可以划分为以下三种:用于监听应用程序环境对象(ServletC
2017-04-05 18:22:54 1320
转载 详述 Java 中过滤器 Filter 的工作原理及使用方法
1 简介 Filter 也称之为过滤器,它是 Servlet 技术中最激动人心的技术之一,WEB 开发人员通过 Filter 技术,对 web 服务器管理的所有 web 资源:例如 JSP、Servlet,、静态图片文件或静态 HTML 文件等进行拦截,从而实现一些特殊的功能。例如实现 URL 级别的权限访问控制、过滤敏感词汇、压缩响应信息等一些高级功能。 Servlet API 中
2017-04-05 11:53:50 9754 3
原创 通过 Git 将代码提交到 GitHub(上)
1 前言在博文“ 利用 SSH 完成 Git 与 GitHub 的绑定 ”中,咱们完成了本地 Git 与远程 GitHub 的绑定,这意味着咱们已经可以通过 Git 向 GitHub 提交代码啦!但是在进行演示之前,咱们需要先了解两个命令,也是咱们在将来需要经常用到的两个命令,分别为push和pull.push:该单词直译过来就是“推”的意思,如果咱们本地的代码有了更新,为了保持本地与远程的代码同步
2017-04-05 11:23:11 45664 24
原创 利用 SSH 完成 Git 与 GitHub 的绑定
在“ 史上最简单的 GitHub 教程“中,咱们已经对 GitHub 有了一定的了解,包括创建仓库、拉分支,或者通过Clone or download克隆或者下载代码;咱们也下载并安装了 Git,也了解了其常用的命令。But,无论是 GitHub,还是 Git,咱们都是单独或者说是独立操作的,并没有将两者绑定啊!也就是说,咱们现在只能通过 GitHub 下载代码,并不能通过 Git 向 Gi
2017-04-04 13:06:48 49921 27
转载 菜鸟程序员的超神之路
博主说:讲述了从校园到职场的六大误区,值得即将毕业的在校大学生借鉴,他山之石可以攻玉,要善假于外物。正文码农咖啡馆近日收到一位大三学生的留言,表达了实习期的一些困惑:压力大、工作内容琐碎、导师又没多少耐心指点。看到这篇幅很长的苦恼,我突然觉得有责任去为他(她)做些事情。这世界上仅有极少的天分和运气兼备的程序员,得以通过惊世骇俗的创造或者创业实现人生的跨越,剩下的普罗众生,都要经历职业的道路去积攒财
2017-04-03 15:37:24 1767
原创 Git 初体验及其常用命令介绍(下)
在前一篇博文“ Git 初体验及其常用命令介绍(上) ”中,咱们已经了解了 Git 的一些常用命令了,包括status、init、add、commit和log等等,接下来,咱们接着上一篇博文的内容,继续介绍 Git 的常用命令。第 6 个命令:git branch在命令行窗口的光标处,输入git branch命令,查看 Git 仓库的分支情况:如上图所示,显示了仓库“demo”中的分支情况,现在仅有
2017-04-02 21:42:38 17296 10
原创 Git 初体验及其常用命令介绍(上)
在博文“ Git 安装流程及步骤 ”中,咱们已经把 Git 安装完成啦!接下来,咱们就一起体验 Git 的魅力,以及了解 Git 的常用命令。不知道大家是否还记得,在 Git 安装完成的时候,咱们曾在 Git Bash 中输入git命令进行测试,其返回的结果如下图所示: 最后,附上博主的 GitHub 账号,欢迎大家 Follow:维C果糖
2017-04-02 16:47:26 30918 19
原创 Git 的安装流程及步骤
在之前的“史上最简单的 GitHub 教程”中,咱们已经知道了如何创建 GitHub 账号、创建仓库、进行个性化设置等等,但是咱们还要知道:GitHub 是基于版本控制系统 Git 之上的啊!如果咱们想要进入代码托管,想要进行团队协作,这都少不了一个工具,那就是:Git. 因此,在本篇博文中,咱们就一起来了解一下 Git 的安装流程及步骤。首先,进入 Git 的官网:git - -fast-vers
2017-04-02 13:32:20 51587 17
转载 程序员,如何从平庸走向理想?
博主说:也许我们都不是天才的程序员,但至少我们都可以成为一个理想的程序员。正文 我算是靠坑蒙拐骗进了程序员的门,然后一路狂奔。26 岁之前几乎没有任何写代码的经验,研究生毕业却意外选择了一家不可能提供培训的初创公司,在每日担忧公司倒闭、害怕被炒鱿鱼以及同事冷落白眼的三重压力下逆流而上,一年半后离职,已是拥有 500 万用户产品的后台主程。从前我对计算机技术心怀畏惧,认定技术高人一定有佛光笼罩,昼
2017-04-01 15:12:00 1832 5
转载 Spring 框架中切入点 pointcut 表达式的常用写法
自从使用 AspectJ 风格切面配置,使得 Spring 的切面配置大大简化,但是 AspectJ 是另外一个开源项目,其规则表达式的语法也稍稍有些怪异。下面给出一些常见示例的写法,例如,下面是一个对 Service 包上所有方法的切面配置:<aop:config> <aop:pointcut id="serviceOperation" expression="execution(* *
2017-04-01 11:25:46 5913 3
原创 详述 Java 语言中的两种 for 循环
在 Java 语言中,用于循环的语句有两个,一个是 for 循环,一个是 while 循环。而 for 循环其实还有两种实现方法,对于初学者来说,或许仅知道一般的 for 循环,即:for(初始化条件; 限制条件; 迭代语句) { // 循环体}而不太了解高级的 for 循环,即:for(变量类型 变量名 : 集合) { // 循环体}在本文中,咱们就一起来了解了解这两种
2017-03-31 09:37:01 3040
原创 GitHub 术语解释
为了大家进一步了解和使用 GitHub,在本文中,咱们就一起来看看 GitHub 的常用术语,也可以说是基本概念:Repository:简称“Repo”,可以理解为“仓库”,咱们的项目就存放在仓库之中,也就是说,如果咱们想要建立项目,就得先建立仓库,有多个项目,就建立多个仓库。Issues:可以理解为“问题”,举一个简单的例子,如果咱们开源一个项目,如果别人看了咱们的项目,并且发现了 bug,或者感
2017-03-31 09:02:33 26495 7
原创 详述 Spring MVC 框架中拦截器 Interceptor 的使用方法
1 前言 昨天新接了一个需要,“拦截 XXX,然后 OOO”,好吧,说白了就是要用拦截器干点事(实现一个具体的功能)。之前,也在网络上搜了很多关于Interceptor的文章,但感觉内容都大同小异,而且知识点零零散散,不太方便阅读。因此,正好借此机会,整理一篇关于拦截器的文章,在此分享给大家,以供大家参考阅读。2 拦截器2.1 概念 Java 里的拦截器是动态拦截 action 调用的对象。它提
2017-03-30 17:02:05 89557 15
原创 用 Java 实现拦截器 Interceptor 的拦截功能
Java 里的拦截器是动态拦截 action 调用的对象。它提供了一种机制可以使开发者可以定义在一个 action 执行的前后执行的代码,也可以在一个 action 执行前阻止其执行,同时也提供了一种可以提取 action 中可重用部分的方式。在AOP(Aspect-Oriented Programming)中拦截器用于在某个方法或字段被访问之前进行拦截,然后在之前或之后加入某些操作。 此外,拦截
2017-03-30 10:57:46 42684 9
原创 创建 GitHub 仓库的步骤及方法
在「GitHub 主页介绍及修改个人信息」一文中,我们已经对 GitHub 的个人主页有了一些了解,并且完成了对个人信息的修改。但是美中不足的是,我们还没有自己的Repo啊,也就是 GitHub 的核心要素——库,接下来,我们就尝试创建自己的 GitHub 仓库。如上图所示,此为博主的 GitHub 个人主页,点击Repositories,进入如下界面:点击上图标注所示的绿色New...
2017-03-30 09:21:19 30944 11
转载 他出身草根,却是 Google 资深工程师
1 前言我们知道,谷歌公司在选拔聘用人才的标准是出了名的高,并且有着极强的“名校情结”,但是谷歌也曾经录用过一位没受过正规大学教育、连本科文凭都没有、基本全靠自学成才的草根码农,他就是大卫•比托(DavidByttow)。大家一定对大卫·比托(DavidByttow)的故事很感兴趣,想知道一位连大学学士学位也没有的人是如何能被谷歌录用为工程师的,让我们带着疑问听听他的故事吧!2 正
2017-03-29 15:23:53 1981
原创 抹去 CSDN 中图片水印的方法
在之前的很多博文中,博主都添加了图片,以达到图文并茂的目的。在 CSDN 中,上传图片时,会默认添加博客地址的水印。众所周知,在图片中添加水印,是为了保护个人版权。但有时候,在图片中添加水印,会使得图片模糊不堪,甚至会导致图片中某些关键信息被掩盖,这时,抹去图片中的水印,就显得尤为重要啦!接下来,咱们就一起测试一下,看看如何才能在通过 Markdown 编辑器上传图片时,抹去图片的水印。如上图所示,
2017-03-29 15:11:56 5637 4
原创 GitHub 主页介绍及修改个人信息
接着博文“ 敲开 GitHub 的大门 - 注册账号 ”的内容,咱们继续往下介绍:标注1:View profile and more,更多选项视图;标注2:Your profile,个人简介。如上图所在,咱们依次点击 标注1 所示的View profile and more和 标注2 所示的Your profile,进入“ 个人简介 ”界面:标注1:Edit profile,修改个人简介;
2017-03-28 16:33:03 44776 5
原创 敲开 GitHub 的大门 · 注册账号
在博文“ 初识 GitHub - 简介篇 ”中,咱们已经初步了解了 GitHub,里面有众多的业界大神、有丰富的学习资料、有著名的开源项目代码,咱们也可以在 GitHub 中增长自己的技术能力、渲染自己的简历,甚至搭建自己的个人博客或者网站。此外,最重要的,也是 GitHub 的核心亮点,那就是:咱们可以在 GitHub 上同世界各地的人协同开发项目。而且简单、容易的让人难以置信。那么,你准备好了吗
2017-03-28 14:35:19 41992 8
原创 详述 Java 语言中的格式化输出
1 前言相信大家在学习 Java 语言的时候,见到的第一条输出语句,就是:System.out.println("Hello World");毫无疑问,该语句的作用就是将Hello World打印到控制台,格式也非常的简单,直接按原格式输出。但是,如果将输出的内容换成“数值”或者“日期”呢?其打印的格式是否会有什么不同的变化呢?在本文中,就让咱们一起看一看在 Java 语言中,数值和日期是如何进行格
2017-03-28 10:00:37 5408 2
原创 初识 GitHub · 简介篇
GitHub 是一个面向开源及私有软件项目的托管平台,因为只支持 Git 作为唯一的版本库格式进行托管,故名 GitHub。GitHub 于 2008 年 4 月 10 日正式上线,除了 Git 代码仓库托管及基本的 Web 管理界面以外,还提供了订阅、讨论组、文本渲染、在线文件编辑器、协作图谱(报表)、代码片段分享(Gist)等功能。
2017-03-27 21:22:08 67267 8
原创 出现 Exception sending context initialized event to listener instance of class XXX 错误的原因及解决方法
1 异常描述在版本管理工具 Cornerstone 中,正常检出项目,然后依次配置完 maven 和 tomcat,到这里,之前的操作没有问题。但是,在启动 tomcat 服务器之后,报出如下错误:2 异常原因3 解决方法
2017-03-27 18:32:38 27035
原创 详述 hosts 文件的作用及修改 hosts 文件的方法
1 什么是 hosts 文件?hosts 是一个没有扩展名的系统文件,其基本作用就是将一些常用的网址域名与其对应的 IP 地址建立一个关联“数据库”。当用户在浏览器中输入一个需要登录的网址时,系统会首先自动从 hosts 文件中寻找对应的 IP 地址,一旦找到,系统就会立即打开对应网页,如果没有找到,则系统会将网址提交 DNS 域名解析服务器进行 IP 地址的解析。2 hosts 文件的作用2.1
2017-03-27 11:56:29 186050 9
原创 详述 String 类中的 空串 和 Null 串
在 String 类中,有两个特殊的字符串,分别是:空串 和 Null 串。空串""是长度为 0 的字符串。可以调用以下代码检查一个字符串是否为空:if(str.length() == 0)或者if(str.equals(""))空串是一个 Java 对象,有自己的串长度和内容,长度为 0,内容为空。不过,String 类型的变量还可以存储一个特殊的值,即 null,它表示目前没有任何对象与该变量
2017-03-27 09:18:18 5454 3
翻译 深入理解 GitHub Flow
GitHub Flow 是一个轻量级,基于分支的工作流,其支持团队和项目的定期部署。本指南介绍了 GitHub Flow 的工作原理。1. 创建分支(Create a branch)2. 添加提交(Add commit)3. 提出 Pull 请求(Open a pull request)4. 讨论和评估你的代码(Discuss and review your code)5. 发布(Deploy)6.
2017-03-24 19:14:29 12831 2
翻译 Hello World · GitHub 指南
前言Hello World 项目是计算机编程历史中悠久的传统。在咱们学习新知识的时候,她也是一个简单的练习。现在,就让咱们一起了解 GitHub 吧!你将学会,如何:创建和使用仓库;启用和管理一个新的分支;修改一个文件并将其提交到 GitHub;打开并合并一个 pull 请求。
2017-03-24 11:33:14 17427 8
原创 IntelliJ IDEA 中 Project 和 Module 的概念及区别
在 IntelliJ IDEA 中,没有类似于 Eclipse 工作空间(Workspace)的概念,而是提出了Project和Module这两个概念。接下来,就让咱们一起看看 IntelliJ IDEA 官方是如何描述两者的吧!对于 Project,IntelliJ IDEA 是这样介绍的:A project is a top-level organizational unit for your
2017-03-23 20:29:04 122855 17
转载 JavaScript 开发的 45 个经典技巧
1 前言JavaScript 是一种直译式脚本语言,也是一种动态类型、弱类型、基于原型的语言。它的解释器被称为 JavaScript 引擎,为浏览器的一部分,因此其也是一种被广泛用于客户端的脚本语言,最早是在 HTML 网页上使用,用来给 HTML 网页增加动态功能。现在,JavaScript 已经成为了当今使用最为广泛、最受欢迎的语言之一,多了解一些 JavaScript 的使用技巧,当然是有益无
2017-03-23 13:50:49 2639
原创 IntelliJ IDEA 编译方式介绍及编译器的设置和选择
相对于 Eclipse 的实时自动编译,IntelliJ IDEA 的编译更加手动化,虽然 IntelliJ IDEA 也可以通过设置开启实时编译,但是太浪费资源了,因此不建议这样做。IntelliJ IDEA 编译方式除了手工点击编译按钮进行编译之外,还可以在“容器”运行之前配置一个编译事件,先编译后运行。在默认情况下,IntelliJ IDEA 也都是这样设置的,因此在实际开发中,咱们也不用太注
2017-03-22 21:57:54 65915 1
原创 IntelliJ IDEA 缓存和索引的介绍及清理方法
在博文“ 详述 IntelliJ IDEA 的使用界面 ”中,博主说过这样一句话“ 对于首次创建或打开的新项目,IntelliJ IDEA 都会创建项目索引,大型项目在创建索引的过程中可能会出现卡顿的现象,因此强烈建议在 IntelliJ IDEA 创建索引的过程中不要动项目。 ”那么,索
2017-03-21 12:04:07 79780 7
原创 IntelliJ IDEA 常见文件类型的图标介绍
在之前的“ 史上最简单的 IntelliJ IDEA 教程 ”系列博文中,咱们已经了解了很多关于 IntelliJ IDEA 的内容啦,例如,在 Windows 系统下安装 IntelliJ IDEA、运行 IntelliJ IDEA 、创建 Java 项目以及修改 IntelliJ IDEA 主题等等,可以说,咱们已经初步掌握了 IntelliJ IDEA 的使用方法啦!不过,有一个现象不
2017-03-20 21:29:45 46214 17
原创 修改 IntelliJ IDEA 模板注释中的 user 内容
在博文“ 设置 IntelliJ IDEA 主题和字体的方法 ”中,咱们进一步了解了 IntelliJ IDEA 的个性化设置功能,包括主题和字体的常用设置等,修改后,具体的效果,如下图所示:观察上图,不知道大家有没有注意到:IntelliJ IDEA 自带模板注释的功能。如上图所示,在创建 Java 类的时候,其自带的模板注释内容如下:/** * Created by think on 2017
2017-03-20 12:29:18 44538 5
转载 左耳朵耗子 | 技术人员的发展之路
1 前言 曾经在网上看过一个段子,说是“90 后的程序员没有活过 30 岁的”,初看之时,当真吓了一跳,想明白之后,便一笑置之啦!不过,大家有没有真的仔细想过自己 30 岁之后的道路该如何走?是继续追求技术的巅峰独孤求败,还是转而成为管理人员指点江山?也许有的人已经规划好了未来的道路奋勇争先,也许有的人仍然在迷茫之中徘徊不前,无论怎样,这篇文章都给了咱们一些参考性的意见,闲暇之余,当作一篇小说看上
2017-03-20 11:22:36 9645
原创 设置 IntelliJ IDEA 主题和字体的方法
1 前言在博文“ IntelliJ IDEA 之 HelloWorld 项目创建及相关配置文件介绍 ”中,咱们已经用 IntelliJ IDEA 创建了第一个 Java 项目 HelloWorld,如下图所示:观察上图,大家有没有发现一些问题,例如,整个界面的字体是不是都太小了一点啊?不知道大家感受如何,反正博主看到这么小的字体,当真是头晕眼花啊!因此,接下来,就让咱们一起尝试着把 IntelliJ
2017-03-18 13:55:22 398538 27
原创 TCP 和 UDP 的定义、区别及模拟演示
TCP(Transmission Control Protocol,传输控制协议)是基于连接的协议,也就是说:在正式收发数据前,必须和对方建立可靠的连接。一个 TCP 连接必须经过三次“对话”,也就是传说中的“三次握手”,才能够建立起来,其中的过程比较复杂,在这里,咱们只做简单、形象的介绍。咱们来看看三次对话的“简单”过程:主机 A 向主机 B 发出连接请求数据包,比如说“我想给你发送数据,可以吗?”,这是第一次
2017-03-17 15:31:28 2083 6
2019年北京市导游考试导游词.zip
2019-12-05
MySQL Group Replication
2017-04-22
阿里巴巴 2016 双 11 背后的技术
2017-01-20
Cornerstone(免费破解版)
2017-01-12
算法设计与分析
2016-11-19
深入浅出面向对象分析与设计
2016-11-18
深入理解Java虚拟机:JVM高级特性与最佳实践
2016-11-14
设计模式之禅
2016-11-14
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人