自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

争做优秀java技术博客!

因为爱java,所以做程序员!

  • 博客(77)
  • 资源 (14)
  • 收藏
  • 关注

原创 Java中三种方法重复使用同一输入流

在工作遇到一种情况,需要对同一文件数据进行多次重复读取,我们流像一个管道一样,数据一旦流过去,就无法被再次使用。例如我需要对同一张电子发票,通过定位多次读取相关信息。在工作中还遇到问题:需要对读入的文件 (MultipartFile) 计算 MD5,同时又需要将其上传到 S3上,即需要对同一输入流进行多次重复读取操作,但是按照流本身所代表的抽象含义,数据一旦流过去,就无法被再次使用。......

2022-08-04 16:16:24 2776 3

转载 Lombok首字母小写,第二个字母大写的问题

一、问题描述最近在和前端对接接口的时候,发现后端接口返回给前端的一个字段大小写有问题,具体如下。使用的开发框架及版本:框架:SpringMVC;Lombok版本:1.18.12;对象简化后如下:@Datapublic class MobileInfo { private String iPhone;}预期返回结果:iPhone,实际返回结果:iphone。也就是说SpringMVC环境下,使用Lombok注解@Data之后,返回给前端的是iphone,

2022-05-16 13:56:59 624

原创 限制jetty和solr的ip地址

我正在使用Jetty设置Solr。我只想限制访问几个IP地址。用Jetty可以做到这一点似乎并不立即明显。是否可能,如果可以,如何?Solr 4.2.1使用Jetty 8.1.8。Jetty 8(如jonas789所述)不支持.htaccess。相反,它使用IPAccessHandler,它没有大量可用的文档。我必须花很多时间才能使其正常工作,所以我在这里发布了更新的解决方案。IPAccessHandler管理黑名单和白名单,接受IP的任意范围,并支持将特定的URI路径附加到每个白名单/黑名单条目。

2021-03-05 17:05:46 588

转载 Java并发编程面试必问的volatile关键字解析

   volatile这个关键字可能很多朋友都听说过,或许也都用过。在Java 5之前,它是一个备受争议的关键字,因为在程序中使用它往往会导致出人意料的结果。在Java 5之后,volatile关键字才得以重获生机。  volatile关键字虽然从字面上理解起来比较简单,但是要用好不是一件容易的事情。由于volatile关键字是与Java的内存模型有关的,因此在讲述volatile关键之前,我们先...

2018-07-06 18:02:11 280 1

原创 给刚开始做微信公众平台推广新手的一些建议

最近微信开始火起来了,更多的人也开始关心起微信营销了。也对微信营销产生了不少的期待和幻想。但是我想先给初学者们说,微信更多起的作用是服务和引导,而不是营销。如果你只是单纯的只是想通过微信做营销,那么,你可能不会如愿了。

2017-08-25 00:24:27 1373

原创 spring注入时bean的set方法为什么不能是static类型的?(为什么要用单例模式而不是静态方法)

态方法是属于类(class)的,普通方法才是属于实体对象(也就是New出来的对象)的,spring注入是在容器中实例化对象,所以不能使用静态方法在springframework里,我们不能@Autowired一个静态变量,使之成为一个spring bean,例如下面这样:[java] view plaincopy@Autowired  private static 

2017-06-23 19:45:33 2581

原创 如何将Eclipse的一个工作空间的配置文件复制到另一个工作空间

问题:       我们在使用Eclipse创建一个新的工作空间时,发现其配置是默认的。习惯了使用以前配置过的工作空间(如字体、字体大小、语言编码规范......),现在又要重新配置一遍是要花时间和精力的,那么我们会想到去找以前的配置文件将其复制过来,那样熟悉的环境又出现了,又可以快乐的打代码了。解决方法:1、找到旧的工作空间的配置文件目录:\.metadata

2017-06-16 13:44:21 2071

转载 Servlet2.5和 3.0区别(Servlet 3.0 新特性详解)

Servlet 3.0 新特性概述Servlet 3.0 作为 Java EE 6 规范体系中一员,随着 Java EE 6 规范一起发布。该版本在前一版本(Servlet 2.5)的基础上提供了若干新特性用于简化 Web 应用的开发和部署。其中有几项特性的引入让开发者感到非常兴奋,同时也获得了 Java 社区的一片赞誉之声:异步处理支持:有了该特性,Servlet 线程不再需

2017-05-26 02:14:01 17466 2

转载 Java随机密码生成器,Java随机生成长度不少于6的指定长度的密码,且这个字符串必须包含大小写字母、数字和特殊字符,四种的任意三种

import java.util.Random;public class RandomPassword { public static void main(String[] args) { String password = getRandomPassword(8); System.out.println(password); } //获取验证过的随机密码 public static Str

2017-05-25 19:03:39 8792 2

转载 AJAX的底层实现原理

创建一个 XMLHttpRequest 对象(由于浏览器不同需要 相应判断处理),设置相应的请求信息(通过open来做,例如请求地址等 设置 );然后我们绑定 onreadystatechange 事件,在这个事件中我们根 据服务器返回状态的不同来做出不同处理,这其中主要是请求成功后接收相应的返回值来通过 javascript 对客户端做出相应操作(我 们只是使显示有关信息);最后我们发送这个请 求(通过send方法)。

2017-05-25 14:09:31 17474 1

原创 IE下通过response输出流的方式,输出图片等文件信息到IE,图片显示不了,文件下载不了的问题。

给response增加相应的contentType属性值代码如下://这句代码是必须的(输出的是图片文件)response.setContentType("image/png");//以下代码非必须response.addHeader("cache-control", "no-cache");response.addHeader("cache-control", "Priv

2016-09-28 13:08:35 6040 1

转载 ConcurrentHashMap原理分析

集合是编程中最常用的数据结构。而谈到并发,几乎总是离不开集合这类高级数据结构的支持。比如两个线程需要同时访问一个中间临界区(Queue),比如常会用缓存作为外部文件的副本(HashMap)。这篇文章主要分析jdk1.5的3种并发集合类型(concurrent,copyonright,queue)中的ConcurrentHashMap,让我们从原理上细致的了解它们,能够让我们在深度项目开发中获益非浅

2016-05-17 02:46:26 408

转载 深入分析Java ClassLoader原理

一、什么是ClassLoader?大家都知道,当我们写好一个Java程序之后,不是管是CS还是BS应用,都是由若干个.class文件组织而成的一个完整的Java应用程序,当程序在运行时,即会调用该程序的一个入口函数来调用系统的相关功能,而这些功能都被封装在不同的class文件当中,所以经常要从这个class文件中要调用另外一个class文件中的方法,如果另外一个文件不存在的,则会引发系统异

2016-05-17 02:42:57 532

转载 springMVC工作原理

SpringMVC框架介绍    1) spring MVC属于SpringFrameWork的后续产品,已经融合在Spring Web Flow里面。Spring 框架提供了构建 Web 应用程序的全功能 MVC 模块。使用 Spring 可插入的 MVC 架构,可以选择是使用内置的 Spring Web 框架还是 Struts 这样的 Web 框架。通过策略接口,S

2016-05-17 02:40:57 648

转载 如何在高并发分布式系统中生成全局唯一Id

一些精彩评论(部分更新到原博文对应的地方)一、数据库文件体积只是一个参考值,可水平扩展系统性能(如nosql,缓存系统)并不和文件体积有高指数的线性相关。如taobao/qq的系统比拼byte系统慢,关键在于索引的命中率,缓存,系统的水平扩展。如果数据库很少,你搞这么多byte能提高性能?如果数据库很大,你搞这么多byte不兼容索引不兼容缓存,不是害自已吗?如果数据库要求伸缩性,你搞这么多byte,需要不断改程序,不是自找苦吗?如果数据库要求移植性,你搞这么多byte,移植起来不如重新设计,这

2016-05-17 02:36:26 3271

转载 Java过滤器与SpringMVC拦截器之间的关系与区别

拦截器功在对请求权限鉴定方面确实很有用处,在我所参与的这个项目之中,第三方的远程调用每个请求都需要参与鉴定,所以这样做非常方便,而且他是很独立的逻辑,这样做让业务逻辑代码很干净。和框架的其他功能一样,原理很简单,使用起来也很简单,大致看了下SpringMVC这一部分的源码,其实还是比较容易理解的。  我们项目中仅仅用到了preHandle这个方法,而未用其他的,框架提供了一个已经实现了拦截器接口的适配器类HandlerInterceptorAdapter,继承这个类然后重写一下需要用到的方法就行了,可以少

2016-05-17 02:24:38 522

原创 nginx的配置文件最全版(使用最新稳定版NGINX1.8.0)

# 使用的用户和组user nginx nginx;# 指定工作衍生进程数;一般几核CPU就配置几个。nginx进程数,建议设置为等于CPU总核心数。worker_processes 1;#全局错误日志及PID文件;全局错误日志定义类型,[ debug | info | notice | warn | error | crit ]error_log /var/log/nginx/error.l

2015-08-27 12:20:40 11887

转载 Spring4新特性——泛型限定式依赖注入

Spring4新特性——泛型限定式依赖注入Spring4新特性——核心容器的其他改进Spring4新特性——Web开发的增强Spring4新特性——集成Bean Validation 1.1(JSR-349)到SpringMVC Spring4新特性——Groovy Bean定义DSLSpring4新特性——更好的Java泛型操作API Spring

2015-06-11 09:34:50 4160

转载 eclipse 中git解决冲突

1、工程->Team->同步: 2、从远程pull至本地,就会出现如下内容: 3、使用Merge Tool,执行第二项使用HEAD合并后的效果: 4、再手动修改 4、修改后的文件需要添加到git index中去: 5、冲突文件变为修改图标样式,再提交至本地,此时的提交

2015-06-11 09:22:41 2968

转载 session原理及集群中session共享实现原理

转载网上看到的两篇关于集群中实现session共享的两篇文章,个人觉得不错,学习了:对Web服务器进行集群,Session的安全和同步是最大的问题,实现Session同步有很多种方案,常见的可能的方式有:1、客户端Cookie加密。    用的较少,此处不详述。2、Session复制。    参与集群的每个节点的Session状态都被复制到集群中的其

2015-05-02 16:51:32 9490

原创 使用Apache通过JK实现多Tomcat负载均衡集群实现总结及自己的感悟

第一次玩负载均衡集群,使用的是Apache、Tomcat,通过JK来实现。由于没有这方面经验,自己摸索了好多天,直到今天才基本完全搞定了。也了解了里面的一些相关原理,自己也亲自动手验证了一些原理。现将自己的经历过程和一些感悟总结分享一下,也以便自己日后查阅。         首先是下载Apache、Tomcat、JK,这没什么说的,主要注意一下需要的Apache的版本,然后是Apache、To

2015-05-02 15:09:59 1919 2

原创 使用Apache通过JK实现多Tomcat负载均衡集群时,Apache不能将请求分发给Tomcat处理(即Apache反向代理不成功)的问题

前些天在做Apache通过JK实现多Tomcat负载均衡集群时,参考网上的配置将配置文件配置好后,访问已存在tomcat中的JSP文件时发现Apache提示URL不存在,然后检查了配置文件及tomcat工程部署,发现配置部署均无问题。尝试访问Apache静态页面,通过http单独访问tomcat均无问题。然后我猜会不会之前参考的网上的配置有问题,于是继续查询网上其它配置发现都差不多,尝试更改各种参

2015-05-02 00:18:07 4795

转载 对于网上购票系统12306,如果你是架构师,你会怎么办?-论坛精彩回复整理

过年之前的12306事情很火,特意发帖讨论,收益匪浅,今天特对发帖各位的回复进行了总结,并将精彩回复附后: 1、分省或车次进行分拆,将现在集中地售票,变成分省的售票,分散压力;2、才用排队的思路和分拆子系统的方式,前段才用大量的HTTP服务器作用排队服务器,和银行的排队拿号一个道理,提示你之前还有多少用户,通过有好的提示,减少用户抱怨;3、才用NOSQL技术,比如才用mem

2015-04-17 00:45:29 2664

转载 Oralce数据库的优化(面试必问题)

(1) 选择最有效率的表名顺序(只在基于规则的优化器中有效):ORACLE 的解析器按照从右到左的顺序处理FROM子句中的表名,FROM子句中写在最后的表(基础表 driving table)将被最先处理,在FROM子句中包含多个表的情况下,你必须选择记录条数最少的表作为基础表。如果有3个以上的表连接查询, 那就需要选择交叉表 (intersection table)作为基础表, 交叉表是指那

2015-04-16 13:48:05 639

转载 ajax的原理和运行机制

关于ajax,是最近炒得非常火的一种技术,并且时下它也是非常流行。当然,它并不是什么新技术,而是在各种已有的技术和支持机制下的一个统一。在我的项目中,偶尔也会用到ajax,用来给用户一些无刷新的体验。用过几次之后,我个人决定对它的原理和运行机制做一个总结。    ajax这个名字据说是Asynchronous JavaScript + XML的简写,实际上,它由下列几种技术组合而成。 

2015-04-07 02:00:15 5083

原创 js如何实现继承(js实现继承的五种方式)

js如何实现继承(js实现继承的五种方式)

2015-04-07 01:38:49 25382 4

原创 html5的postmessage实现js前端跨域访问及调用解决方案

关于跨域访问,使用JSONP的方法,我前面已经demo过了,具体见http://supercharles888.blog.51cto.com/609344/856886,HTML5提供了一个非常强大的API,叫postMessage,它其实就是以前iframe的进化版本,使用起来极其方便,这里举个实验例子:我们依旧按照与上文相同的设定,假定我们有2个DomainDomain1: h

2014-06-16 14:35:00 11952

原创 将毫秒 换算成(天 时 分 秒 毫秒)

将毫秒 换算成(天 时 分 秒 毫秒) 啥也不多说了,直接贴代码,需要的朋友可以拿去直接用,代码比较简单

2014-05-10 20:38:37 69600

原创 解决网页背景图片不能自动适应的方法

在网页开发的过程中,偶然遇到一个问题:背景图片不能自动去适应网页窗口大小。找到很久后才找到这个方法来解决,代码如下也听有些人说过就设置背景图片,然后用CSS来控制。但我没有亲自试过,由于时间关系,用这个方法能解决问题,就没用去试别的方法了,有更好的解决办法,谢谢回复交流。

2014-04-25 09:34:47 3176

原创 android webview中加入无线淘宝客页面点击宝贝详情链接进入宝贝详情页面后无法返回问题

这几天弄了下在webview中引入无线淘宝客页面,发现点击宝贝详情进入页面后,无法返回.刚开始按网上大部分说的在同一个webview中展示链接页面,这样重载WebClient的shouldOverrideUrlLoading方法.发现点击宝贝详情链接页面后,无法返回.各种方法都试了,就是解决不了!最后发现解决方法既然就是:不需要重写WebClient的shouldOverrideUrlLoading方法;只需要重写下WebClient的onPageStarted方法,里面什么都不用写,代码如下:

2014-04-12 11:41:54 6502 1

原创 如何根据手机屏幕尺寸做不同的网页呢

随着3G的普及,越来越多的人使用手机上网。 手机的屏幕比较小,宽度通常在600像素以下;PC的屏幕宽度,一般都在1000像素以上(目前主流宽度是1366×768),有的还达到了2000像素。同样的内容,要在大小迥异的屏幕上,都呈现出满意的效果,并不是一件容易的事。 于是,网页设计师不得不面对一个难题:如何才能在不同大小的设备上呈现同样的网页?  很多网站的解决方法,

2014-04-10 10:09:05 8385

原创 ImageView的属性android:scaleType,即ImageView.setScaleType(ImageView.ScaleType)

1  这里我们重点理解ImageView的属性android:scaleType,即ImageView.setScaleType(ImageView.ScaleType)。android:scaleType是控制图片如何resized/moved来匹对ImageView的size。ImageView.ScaleType / android:scaleType值的意义区别: 2   3 CE

2013-12-27 20:02:24 4805

原创 Cannot change version of project facet Dynamic Web Module to 2.5

在eclipse的工程上选择属性,再选择Project Facets里面中选择Dynamic Web Module ,将2.3修改为2.5,提示如下信息:Cannot change version of project facet Dynamic Web Module to 2.5解决方法:在工程目录下有一个.settings文件夹,打开org.eclipse.wst.comm

2013-12-23 03:51:26 21018 1

原创 activity的android:name所指的Activity实现类的简写问题

package="com.example.android.apis">                                                                                                                            

2013-07-17 00:42:39 6393

原创 关于Android中xml布局文件之android 入门xml布局文件

LinearLayout和RelativeLayout共有属性:java代码中通过btn1关联次控件android:id="@+id/btn1"控件宽度android:layout_width="80px"    //"80dip"或"80dp"android:layout_width =“wrap_content”android:layout_width =“matc

2013-07-06 11:19:16 1721

原创 Android布局文件中的属性含义

android:layout_below 将该控件的顶部至于给定ID的控件之下android:layout_toLeftOf 将该控件的右边缘和给定ID的控件的左边缘对齐android:layout_toRightOf 将该控件的左边缘和给定ID的控件的右边缘对齐android:layout_alignBottom 将该控件的底部边缘与给定ID控件的底部边缘android:layo

2013-07-06 01:47:22 1350

转载 远程桌面超出最大连接数怎么办

一台远程服务器,PCanywhere显示连接忙,无法连接。使用远程连接显示“超过了最大允许连接数”,第一个问题可以过去操作一下服务器,但是也必须把第二个问题解决,搜索了一下,摘抄一些有用的东西。步骤/方法使用远程桌面的朋友可能经常会遇到“超出最大允许连接数”的问题,这是因为remote desktop for administrator缺省设置是2个连接,而且如果远

2013-01-06 11:24:24 1223 1

原创 Failed to install ***.apk on device '019417a3': Unable to open sync connection!解决方法

最近开发,兄弟们问我这个问题,写出来解决方法和大家分享一下。当控制台出现:Failed to install ***.apk on device '019417a3': Unable to open sync connection!java.io.IOException: Unable to open sync connection!Launch canceled!或者

2013-01-03 23:23:12 4702

转载 被忽略的Spring3小改进——支持多数据源的@Transactional事务注解

被忽略的Spring3小改进——支持多数据源的@Transactional事务注解[问题]近日,有同事问起,有个项目在配置Spring事务时,使用了@Transactional注解,但这个项目使用了多个数据源,而事务注解只对第一个起作用,咋办? [探幽]一听之下,想起在用@Transactional配置事务时,确实没注意过多数据源问题,但是记得之前常用的XML配置方式中,对

2012-12-10 15:55:21 6040 1

转载 SpringSide 3 中的多数据源配置的问题

在SpringSide 3 中,白衣提供的预先配置好的环境非常有利于用户进行快速开发,但是同时也会为扩展带来一些困难。最直接的例子就是关于在项目中使用多个数据源的问题,似乎很难搞。在上一篇中,我探讨了SpringSide 3 中的数据访问层,在这一篇中,我立志要解决多数据源配置的难题,我的思路是这样的:第一步、测试能否配置多个DataSource第二步、测试能否配置多个SessionF

2012-12-10 15:47:51 1502

Tomcat8基于Redis的Session共享

tomcat8-redis-cluster概要 1.原理: 原理就是继承tomcat的manager接口,接管session的持久化工作 2.使用 ◦使用的时候就是Maven打包,放到tomcat的lib里面 (主要是三个包:commons-pool2-2.3.jar;jedis-2.7.3.jar;tomcat7-redis-cluster-1.0.0.jar) ◦用法实例,修改tomcat的conf文件夹里面的context.xml,在<Context>标签内加上以下配置: <Manager className="com.sophy.tomcat8rediscluster.RedisSessionManager" host="127.0.0.1" port="6379" database="0" maxInactiveInterval="60" /> 3.自定义部分 如果自己想定义存储的话,可以继承代码里面的SessionRepository接口, 然后在ClusterSessionManager的initRepository方法里面做修改 4.使用注意: 分布式session的使用与tomcat默认的session使用有所不同,比如session有一个对象a,默认tomcat里面,你可以获取a, 然后直接对a里面的属性进行修改,另外一个地方可以看到修改,但是在分布式session里面,你修改了a里面的属性之后, 必须手动的调用session的setAttribute方法,才能同步到你的存储里面,因为分布式session的应用可能不在同一个jvm上面

2016-09-05

Tomcat7基于Redis的Session共享

tomcat7-redis-cluster概要 1.原理: 原理就是继承tomcat的manager接口,接管session的持久化工作 2.使用 ◦使用的时候就是Maven打包,放到tomcat的lib里面 (主要是三个包:commons-pool2-2.3.jar;jedis-2.7.3.jar;tomcat7-redis-cluster-1.0.0.jar) ◦用法实例,修改tomcat的conf文件夹里面的context.xml,在<Context>标签内加上以下配置: <Valve className="com.usky.tomcat7rediscluster.RedisSessionHandlerValve"/> <Manager className="com.usky.tomcat7rediscluster.RedisSessionManager" host="127.0.0.1" port="6379" database="0" maxInactiveInterval="60" /> 3.自定义部分 如果自己想定义存储的话,可以继承代码里面的SessionRepository接口, 然后在ClusterSessionManager的initRepository方法里面做修改 4.使用注意: 分布式session的使用与tomcat默认的session使用有所不同,比如session有一个对象a,默认tomcat里面,你可以获取a, 然后直接对a里面的属性进行修改,另外一个地方可以看到修改,但是在分布式session里面,你修改了a里面的属性之后, 必须手动的调用session的setAttribute方法,才能同步到你的存储里面,因为分布式session的应用可能不在同一个jvm上面

2016-09-05

Linux命令大全.chmLinux命令大全.chm

Linux命令大全.chmLinux命令大全.chmLinux命令大全.chmLinux命令大全.chmLinux命令大全.chm

2011-04-01

乱码解决大全.doc

乱码解决大全.doc 乱码解决大全.doc乱码解决大全.doc乱码解决大全.doc

2011-04-01

Oracle_SQL性能优化技巧大总结.pdf

Oracle_SQL性能优化技巧大总结.pdfOracle_SQL性能优化技巧大总结.pdfOracle_SQL性能优化技巧大总结.pdf

2011-04-01

java23种开发模式.doc

java23种开发模式.docjava23种开发模式.docjava23种开发模式.docjava23种开发模式.docjava23种开发模式.docjava23种开发模式.doc

2011-04-01

it工作中重要的命令行

it工作中重要的命令行 it工作中重要的命令行 it工作中重要的命令行 it工作中重要的命令行

2011-04-01

JAVA面试题解惑系列.pdf

JAVA面试题解惑系列.pdfJAVA面试题解惑系列.pdfJAVA面试题解惑系列.pdfJAVA面试题解惑系列.pdfJAVA面试题解惑系列.pdf

2011-04-01

恩信开源ERP源码 恩信ERP开源源码

恩信ERP源码 恩信 开源ERP源码 恩信ERP源码 恩信 开源ERP源码 恩信ERP源码 恩信 开源ERP源码

2010-09-30

VSS使用手册 VSS使用

VSS使用手册 VSS VSS使用 VSS使用

2010-09-06

freemark语言学习书籍

freemark语言学习书籍 基础教程 简单易懂

2009-11-26

ant工具使用中文手册

ant工具使用中文手册 很好的工具! 大家可以放心下

2009-07-28

软件工程\敏捷软件开发:原则、模式与实践.pdf

软件工程\敏捷软件开发:原则、模式与实践.pdf软件工程\敏捷软件开发:原则、模式与实践.pdf

2008-11-23

计算机网络习题答案.pdf

计算机 网络 计算机网络习题 计算机网络习题答案 计算机网络

2008-11-19

空空如也

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

TA关注的人

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