自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(52)
  • 收藏
  • 关注

转载 入行四年的思考

  2015年8月毕业入职,到现在已经四年了。  四年里,国企、央企、初创的私企都干过,从开发的小徒弟做起,事事都要依赖师傅,到自己独立地负责一个模块,再到后来的负责整个产品的后端开发,看到了后端开发从需求到上线的全景。虽然到现在,依然不被自己认为是一个合格的程序员,但是有很多思考的东西,我觉得已经有些上路了。  困境:  之所以不认为自己是一个合格的程序员,还是觉得自己的基...

2019-09-02 11:21:00 120

转载 HashMap多线程下不安全的具体体现

  比较容易想到的是多线程环境下,如果几个线程同时在一个位置table[i]进行添加或者删除操作,会出现被覆盖或者其它情况。但还有一种比较严重的问题,即在多线程同时操作一个HashMap,进行扩容重排的过程中,有可能会出现环形链表,在下一次进行get操作或者迭代操作时,这里简单地结合JVM解释一下为什么在多线程环境下会出现环形链表。  首先要清楚HashMap扩容时的几个步骤,这里以...

2017-12-14 11:27:00 221

转载 HashMap源码初探(JDK1.7)

  在Java面试过程中,最常见到的问题当属HashMap的那些知识点。它的底层是什么结构?什么是Hash排序?发生了碰撞会怎样?它跟HashTable,ConcurrentHashMap有什么区别?现有的数组存储满了会发生什么?...很多时候,它就是一场面试的起点。所以源码阅读的第一站选择了这个类,从这里能够解析出来的东西还是很多。  阅读源码也是需要耐心和策略的,每个人目的不一样...

2017-12-13 15:55:00 138

转载 半途不可废

  在第一家公司做了两年,终于下定了决心要离职。各方面的原因都有,只从技术层面上来说,每天做的事情近乎于调调参数,改改代码格式,轻松的任务里心里还是有些发慌,怕越来越废。  从填写简历上传的那一刻就知道,后面这几个月一直都不会很轻松。进公司的两年,从小白一枚,到现在还是学到了不少东西,慢慢有些入门的感觉了,只是进步的速度越来越慢,体会不到一开始进来那种快速进步的感觉了,而且很多零碎的...

2017-12-02 20:18:00 113

转载 ThreadLocal简单说明

  在多线程编程环境中,很多时候,我们希望在一个线程内,多层服务使用的某个对象是单例的,但是在不同的同级线程之间,该对象的实例又是不同的。此时我们常常会用ThreadLocal去实现,下面用图来说明:  例如,在多线程环境下,数据库建立的连接,在单个线程中的多个服务之间我们可能希望只用一份连接,所以此时的Util链接方法可以如下编写: private static ...

2016-11-11 15:18:00 112

转载 基本的JDBC以及CRUD/Transaction基本操作

  先上依赖: <!-- mysql start --> <dependency> <groupId>mysql</groupId> <artifactId>mysql-connector-java</artifactId>...

2016-11-11 13:38:00 105

转载 HttpClient官文总结-Guide

  打开Commons HttpClient-3.x的官网会发现,这个项目已经停止更新,取代它的是Apache HttpComponents项目的HttpClient和HttpCore模块,所以重点就关注新的工程。  在HttpClient模块中,官方目前用到的最新版本是HC4.5。  首先给出了简单的例子GET/POST,但这个例子并不能直接放到实际场景中使用,具体查看注释说明...

2016-11-07 22:57:00 194

转载 从一个bug的解决过程到httpClient的用法

  本篇记录一个bug出现与解决的过程,希望以后在了解了更多的技术细节的基础上,可以对现阶段的一些代码块进行进一步改进。  在接触到的第一个项目中,使用了一个同事写的HttpUtil,其中的get请求:public static String getMethod(String url) { CloseableHttpClient httpclient = H...

2016-11-07 12:50:00 131

转载 mysql -- 事务隔离级别以及java中事务提交的步骤

  SQL标准定义了四种隔离级别,不同隔离的级别使用不当会出现脏读、不可重复读和幻读的问题,隔离级别的出现是事务处理效率与安全的一种平衡。隔离级别不同会出现的问题  脏读(Drity Read):某个事务已更新一份数据,另一个事务在此时读取了同一份数据,由于某些原因,前一个RollBack了操作,则后一个事务所读取的数据就会是不正确的。  不可重复读(Non-repeat...

2016-11-04 11:29:00 103

转载 简单的get/post服务实现方式

  项目中需要发布一个简单的接口,可以用前期提到的dubbo+rest框架来实现,但当功能需求不大时,可以使用一些简单的方式来提供服务。本篇持续更新,不断积累遇到的一些新的发布方法。Jersey  先来一个官网的地址:https://jersey.java.net/documentation/latest/。这里只是简单尝试它的服务提供方式,给出GET/POST的服务发布...

2016-11-03 21:27:00 105

转载 Eclipse实用快捷操作整理

  使用Eclipse时,熟练掌握一些基本的快捷键操作,会大大提高开发的效率,现将一些比较常见的操作列表:不解释 Alt + / syso + Alt + / main + Alt + / Ctrl + C/V/S/Z/D对于在窗口中打开的文档 Ctrl+E 当前打所有开文档列表展示名称 Ctrl+PgUp/PgDn 可以切换当前显示的文档 Ctrl+W ...

2016-11-03 16:39:00 111

转载 maven project facet dynamic web module错误解决方案

  在Eclipse中使用maven创建web-app的过程中总会遇到一个问题,cannot change version of project facet dynamic web module to 2.5/3.0,但此时我们打开工程的properties中的Facet选项会发现这个无法更改。  解决方案:  1.调整项目的web.xml,将版本号统一修改为2.5/3.0...

2016-10-31 11:28:00 176

转载 Java处理大文件

  对于小文件中的内容,在进行处理的时候,可以简单地将其全部加载到内存中,而后进行处理: /** * 将文件内容全部读取到内存中 */ try { List<String> list = FileUtils.readLines(new File(fileDerec), C...

2016-10-25 11:51:00 142

转载 linux服务器中解压与打包jar文件

  linux服务器中所部属的很多服务中,有相当一部分是jar文件,在设计这些程序的过程中,关键信息有相当一部分都是放在配置文件中,如何在服务器通过解压与压缩jar文件中的配置文件来修改关键信息呢?这里介绍jar文件的解压与压缩。  解压:[xxx@application01 bfd_test]$ lltotal 16drwxr-xr-x 2 root root 40...

2016-10-24 13:13:00 452

转载 Junit简单实现

  Junit是一个测试框架,分分钟入门,但它带来的便捷高效是不言而喻的,如果以投入时间和回报的节省时间来算,它的性价比很高。本篇就以一个简单的实例,结合注释,将该框架的基本功能介绍一下。  引入依赖: <dependency> <groupId>junit</groupId> ...

2016-10-20 23:05:00 164

转载 linux搜索过滤--grep

  grep在服务端查询消息时经常会被使用到,这里总结几个常用,简单的命令,熟练掌握可以使查询更为高效。  基本格式:grep [option] pattern file  几个重要的命令参数,这里不列举全部,只列举可能会常用的,便于快速查询:  除了不加任何参数表示搜索符合之后的样式的内容之外,剩下的参数:-v --revert-match #显...

2016-10-19 17:22:00 150

转载 linux定时任务设置

  设置定时任务时,需要注意很多细节,如权限,路径,输出日志等等,这里以centOS为例,给出一个执行成功的例子,但实际设置的方法很多,本篇只是作为参考。  登录服务器时是自己的用户名,在/opt/目录下新建一个文件夹,而后把jar包,依赖以及日志的目录新建好,给出权限:sudo chmod -R 777 *  而后书写脚本,脚本内容设置为执行关键jar包,并输出日志...

2016-10-19 11:24:00 106

转载 mysql -- 基础语句

  关于版本选取,安装等都略过,网上的教程很多。目前用的比较多的是可视化的navicat for MySQL。本篇简单陈列一些常用的命令和语句,方便在需要的时候进行查询。========================================================================>  ---->SQL语句的分类:DDL,Data ...

2016-10-17 09:48:00 128

转载 Servlet 之jsp(下)--JSTL

  JavaServer Pages Standard Tag Library为jsp标准标签库,jsp规范一部分。sun定义规范即接口。apache对规范进行了实现,开发时导入其jar包即可,但tomcat有自己的jar包支持,不同的tomcat版本也有差异,使用时需要注意。  使用要求:容器必须支持Servlet 2.4 且JSP 2.0 以上版本,下载地址:http://tom...

2016-10-12 13:28:00 140

转载 Servlet 之jsp(中)--EL

  JSP页面中很多时候,脚本都可以用el表达式来代替。在各种引用地址中,由于简便灵活,所以el被广泛应用。el使用时一般需要配合标签jstl,标签的版本各容器不同也有差异,使用时需要考虑到。...<link rel="stylesheet" href="${pageContext.request.contextPath}/static/bower/boots...

2016-10-11 17:33:00 104

转载 IO基础 -- 字符字节与编码

  在学习IO流的时候,就知道根据流处理最小单位的不同,会将流分为字节流与字符流,而在学习javaweb时候,则对页面数据各种乱码的解决有了认识,逐渐了解到了字节与字符的区别。字节是一种存储单位,在网络传输,或者硬盘与内存中存储数据时,字节就是数据保存的基本单位,而一个字节由8位二进制组成,即 1Byte=8bit。我们平常在一些文本工具中所书写,展示出来的是字符;而像一些视频,音频文件...

2016-09-25 23:09:00 114

转载 Servlet 之jsp(上)

  jsp与Servlet本质都是一样的。jsp是在html中嵌入java代码,servlet是在java代码中嵌入html。  tomcat在获得jsp页面后,在work目录下,会将其转换为servlet的java文件(如hello.jsp--->hello_jsp.java),而后对其进行编译,这里分析jsp各个部分功能的时候,注意它转为servlet中的代码结构。hell...

2016-09-23 17:09:00 104

转载 Java反射以及动态代理(下)-- 源码

  承接上篇,本篇就主要介绍动态代理的实现机制。  首先说说怎么去实现一个动态代理。还是可以用一个接口,两种实现来概括,但是代理中的实现并不明显,后面详细看看源码。接口:package com.changjiang.test.RFP01.testProxy;public interface DynamicInterface { public void...

2016-09-23 10:48:00 87

转载 Java反射以及动态代理(上)-- 套路

  在常用的各种框架中,反射与动态代理很常见,也很重要。本篇就对这一小节的内容基础性地总结。  首先需要了解什么是类型信息,以及RTTI与反射的关系与区别。  Java中,使用Class对象来表示所有类的对象。利用Class对象来获取类中的成员变量,构造函数以及方法,这些内容我们称之为类型信息。RTTI的含义是,在运行时识别一个对象的类型,但有一个前提,就是类型在编译时必须已知,...

2016-09-22 22:27:00 76

转载 Servlet 之会话cookie与session

  简单地说,用户打开浏览器,发送多次请求并接受到来自服务器的响应,而后关闭浏览器,整个过程称之为一次会话。在多次请求中,为了共享数据,浏览器端采用cookie技术来保存与使用数据,而服务器端则是session技术(相对于一次会话的多次请求)。cookie技术不局限java,其他语言也支持。例如:php、javascript等。Javaweb中提供了javax.servlet.http....

2016-09-21 00:13:00 109

转载 Servlet 之请求,响应,缓存以及乱码

  JavaWeb中,Servlet的请求,响应对象有很多实用的api,此处依据http协议中请求行,请求头,请求体以及响应行,响应头,响应体的思路,对这些api以及相关事项做个整理,最后总结一下乱码的相关处理。响应行  响应行格式为"协议 状态码 状态码信息",这里主要就是状态码的操作,如果是比较正式的写法,应该使用HttpServletResponse接口中所定义的状...

2016-09-20 00:13:00 137

转载 HTTP协议基础与web服务的重定向,跳转以及请求转发

  JavaWeb中,HttpServletRequest与HttpServletResponse几乎是处理各种请求与操作必备的参数,与原始的ServletRequest/ServletResponse相比,它们符合HTTP协议,所以首先从http协议入手,回顾一些基本的内容,而后根据协议来总结常用的知识点。  首先来介绍一下dos环境下简单的http发送报文,接收报文的方法。运行输...

2016-09-19 13:57:00 187

转载 Servlet中几个常用方法的推衍

  JavaWeb开发中,Servlet是重要的一环,常用于处理逻辑事物。现在比较习惯用编辑器直接新建一个Servlet出来,但是对于初学者,这样的方式并不能理解到它从最原始的形态到现在的演变,本文就此做一个简单的推演,从Servlet的生命周期开始,到现在比较常用的做法,搭建一个桥梁,让初学者可以很容易看懂为什么要这么做。  新建一个Maven工程,引入必要依赖:<d...

2016-09-19 10:19:00 138

转载 Tomcat常用设置 <持续更新>

  本篇主要用于修改一些常用配置时的参考。遇新常记,以备时需。=========================>  Windows版基本安装  在安装之前,JDK应该是已经安装妥当,并设置了%JAVA_HOME%与%JRE_HOME%:%JAVA_HOME% E:\Program Files\Java\jdk1.7.0_80%JR...

2016-09-12 23:16:00 96

转载 JAXP进行DOM解析的实践

  比较重要的几个类,使用频率比较高的就是Document, Element与Node.  几个常用的套路: static { try { DocumentBuilderFactory dbFactory = DocumentBuilderFactory.newInstance(); builder ...

2016-09-09 16:07:00 102

转载 XML基础-DTD/Schema

  XML文件开发中几乎天天用,但很少去了解它的各种定义与原理,一篇博客虽然不能做到完全通透,但至少要让自己遇到bug不再慌乱。  XML指可扩展语言,全称eXtensible MarkupLanguage,其宗旨是为了描述数据,而不是像HTML那样显示数据。目前遵循的是W3C组织于2000年发布的XML1.0规范。使用场景主要为描述数据和充当配置文件。基本语法  文...

2016-09-09 00:31:00 90

转载 web工程缺失servlet/jsp/jstl依赖的解决方案

  eclipse中新建maven web工程,会因为缺少servlet,jsp,jstl的依赖而报错,但如果直接依赖到pom.xml中后,会与tomcat中的相关jar包冲突,此时:<dependency> <groupId> jstl</groupId > <artifactId> jstl&...

2016-09-08 09:27:00 625

转载 Java 序列化与反序列化

序列化与反序列化的概念   把对象转换为字节序列的过程称为对象的序列化;将字节序列恢复为对象的过程称为反序列化。  使用场景:把对象的序列保存到硬盘上,通常放在一个文件中;网络上传送对象的文件序列。  在很多应用中,需要对某些对象进行序列化,让它们离开内存空间,入住物理硬盘,以便长期保存。比如最常见的是Web服务器中的Session对象,当有 10万用户并发访问,就有...

2016-09-07 00:03:00 79

转载 mongodb 基本命令

项目中使用到了mongoDB,基本是用RoboMongo连接服务器,做一些权限较低的增删改查操作。命令时常会忘,在此记录一些针对集合的使用频率很高的命令,方便查询:1、创建一个聚集集合(table) db.createCollection(“collName”, {size: 20, capped: 5, max: 100});2、得到指定名称的聚集集合(tabl...

2016-09-04 16:38:00 79

转载 dubbo+rest 之 helloworld(二)

  在之前的博客中,已经陆续给出最基本的dubbo生产消费,以及rest内嵌dubbo服务配置与发布,本篇用另一种更为通用的模型来给出第二种耦合度更低,服务分离更为彻底的工程,来实现基本功能。首先给出整个工程的结构:与上次的工程相比,只是多了一个dubboApi,但就是这个工程,托管了provider,consumer以及rest所有涉及到的接口,使得各种生产,消费只与这一个模块...

2016-09-04 16:09:00 104

转载 dubbo+rest 之 helloworld(一)

  之前的博客中已经介绍过dubbo服务的provider-consumer的实现,这里实现一个内部服务由dubbo提供,而外部服务则用rest提供。实现的原理还需要进一步研究源代码,但首先,我们要知道how。本篇将展示第一种简单配置,即将dubbo-provider作为依赖,使用rest-provider启动并提供服务。工程结构如图:其中,dubbo-provider的结构在之...

2016-09-04 14:50:00 110

转载 druid加密

  使用druid可以在配置环境中对数据库密码进行加密。  --进入druid的jar包所在的目录,使用java命令java -cp druid-0.2.23.jar com.alibaba.druid.filter.config.ConfigTools your_password转载于:https://www.cnblogs.com/bruceChan0018...

2016-09-01 22:46:00 114

转载 elasticsearch 安装记录

  windows下的安装即开箱即用,到bin目录下打开elasticsearch.bat,访问localhost:9200,页面显示:{ "name" : "Windshear", "cluster_name" : "elasticsearch", "version" : { "number" : "2.3.5", "build_hash"...

2016-08-31 14:34:00 92

转载 ehcache入门 java及Spring配置实例

缓存:使用JSP标签缓存部分页面(cache,usecached,flush,addgroup,addgroups)使用过滤器缓存整个页面(CacheFilter)使用OSCache API缓存JAVA对象(GeneralCacheAdministrator)Hibernate中使用OSCacheEHcache 数据库缓存Memcache 分布式场景:将常用数据放置在缓存中,降低访问数据...

2016-08-30 14:07:00 114

转载 log4j

  基本用法:    日志记录的重要性不多说,先给出依赖:<!-- log begin --><dependency> <groupId>org.slf4j</groupId> <artifactId>slf4j-api</artifactId> <version&...

2016-08-29 14:54:00 88

空空如也

空空如也

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

TA关注的人

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