
IT技术
文章平均质量分 72
孤独的远行者
因为爱java,所以做程序员!
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
单例模式VS静态类,何时用单例何时用静态类?单例设计模式的使用
如果你的单例类并没有保存任何状态性质的属性,而只是提供了一些公共方法,那么就应该考虑包含静态方法的类,因为 Java 在编译期的静态绑定特性,静态方法比单例类要快很多。但是请记住,在静态类中维护状态并不是一种推荐的做法,尤其是在并发执行的环境中,因为在多线程运行修改静态变量的状态时,如果不能正确地处理线程之间的关系,这可能会导致由于条件竞争而出现莫名其妙的问题。因为你得到一个对象总比只提供给你一个方法要能做更多的事情,这一点能帮助你做出决定,什么时候应该用单例,而什么时候应该用静态方法。转载 2024-09-12 05:39:23 · 550 阅读 · 0 评论 -
Chrome驱动chromedriver官网没有的版本下载113、114、115、116、117、118、119、120、121、122、123、124、125、126、127、128、129、130
Google Chrome浏览器驱动chromedriver官方网站暂时没有的一批高版本下载链接,主要包含以下这些版本:113、114、115、116、117、118、119、120、121、122、123、124、125、126、127、128、129、130原创 2024-09-08 06:32:12 · 2150 阅读 · 0 评论 -
Java中三种方法重复使用同一输入流
在工作遇到一种情况,需要对同一文件数据进行多次重复读取,我们流像一个管道一样,数据一旦流过去,就无法被再次使用。例如我需要对同一张电子发票,通过定位多次读取相关信息。在工作中还遇到问题:需要对读入的文件 (MultipartFile) 计算 MD5,同时又需要将其上传到 S3上,即需要对同一输入流进行多次重复读取操作,但是按照流本身所代表的抽象含义,数据一旦流过去,就无法被再次使用。......原创 2022-08-04 16:16:24 · 3238 阅读 · 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 · 886 阅读 · 0 评论 -
限制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 · 862 阅读 · 0 评论 -
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 · 4210 阅读 · 0 评论 -
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 · 12045 阅读 · 0 评论 -
ajax的原理和运行机制
关于ajax,是最近炒得非常火的一种技术,并且时下它也是非常流行。当然,它并不是什么新技术,而是在各种已有的技术和支持机制下的一个统一。在我的项目中,偶尔也会用到ajax,用来给用户一些无刷新的体验。用过几次之后,我个人决定对它的原理和运行机制做一个总结。 ajax这个名字据说是Asynchronous JavaScript + XML的简写,实际上,它由下列几种技术组合而成。转载 2015-04-07 02:00:15 · 5128 阅读 · 0 评论 -
js如何实现继承(js实现继承的五种方式)
js如何实现继承(js实现继承的五种方式)原创 2015-04-07 01:38:49 · 25501 阅读 · 4 评论 -
Oralce数据库的优化(面试必问题)
(1) 选择最有效率的表名顺序(只在基于规则的优化器中有效):ORACLE 的解析器按照从右到左的顺序处理FROM子句中的表名,FROM子句中写在最后的表(基础表 driving table)将被最先处理,在FROM子句中包含多个表的情况下,你必须选择记录条数最少的表作为基础表。如果有3个以上的表连接查询, 那就需要选择交叉表 (intersection table)作为基础表, 交叉表是指那转载 2015-04-16 13:48:05 · 710 阅读 · 0 评论 -
android webview中加入无线淘宝客页面点击宝贝详情链接进入宝贝详情页面后无法返回问题
这几天弄了下在webview中引入无线淘宝客页面,发现点击宝贝详情进入页面后,无法返回.刚开始按网上大部分说的在同一个webview中展示链接页面,这样重载WebClient的shouldOverrideUrlLoading方法.发现点击宝贝详情链接页面后,无法返回.各种方法都试了,就是解决不了!最后发现解决方法既然就是:不需要重写WebClient的shouldOverrideUrlLoading方法;只需要重写下WebClient的onPageStarted方法,里面什么都不用写,代码如下:原创 2014-04-12 11:41:54 · 6579 阅读 · 1 评论 -
解决网页背景图片不能自动适应的方法
在网页开发的过程中,偶然遇到一个问题:背景图片不能自动去适应网页窗口大小。找到很久后才找到这个方法来解决,代码如下也听有些人说过就设置背景图片,然后用CSS来控制。但我没有亲自试过,由于时间关系,用这个方法能解决问题,就没用去试别的方法了,有更好的解决办法,谢谢回复交流。原创 2014-04-25 09:34:47 · 3269 阅读 · 0 评论 -
如何根据手机屏幕尺寸做不同的网页呢
随着3G的普及,越来越多的人使用手机上网。 手机的屏幕比较小,宽度通常在600像素以下;PC的屏幕宽度,一般都在1000像素以上(目前主流宽度是1366×768),有的还达到了2000像素。同样的内容,要在大小迥异的屏幕上,都呈现出满意的效果,并不是一件容易的事。 于是,网页设计师不得不面对一个难题:如何才能在不同大小的设备上呈现同样的网页? 很多网站的解决方法,原创 2014-04-10 10:09:05 · 8784 阅读 · 0 评论 -
将毫秒 换算成(天 时 分 秒 毫秒)
将毫秒 换算成(天 时 分 秒 毫秒) 啥也不多说了,直接贴代码,需要的朋友可以拿去直接用,代码比较简单原创 2014-05-10 20:38:37 · 69900 阅读 · 0 评论 -
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 · 4857 阅读 · 0 评论 -
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 · 21116 阅读 · 1 评论 -
关于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 · 1778 阅读 · 0 评论 -
对于网上购票系统12306,如果你是架构师,你会怎么办?-论坛精彩回复整理
过年之前的12306事情很火,特意发帖讨论,收益匪浅,今天特对发帖各位的回复进行了总结,并将精彩回复附后: 1、分省或车次进行分拆,将现在集中地售票,变成分省的售票,分散压力;2、才用排队的思路和分拆子系统的方式,前段才用大量的HTTP服务器作用排队服务器,和银行的排队拿号一个道理,提示你之前还有多少用户,通过有好的提示,减少用户抱怨;3、才用NOSQL技术,比如才用mem转载 2015-04-17 00:45:29 · 2728 阅读 · 0 评论 -
使用Apache通过JK实现多Tomcat负载均衡集群实现总结及自己的感悟
第一次玩负载均衡集群,使用的是Apache、Tomcat,通过JK来实现。由于没有这方面经验,自己摸索了好多天,直到今天才基本完全搞定了。也了解了里面的一些相关原理,自己也亲自动手验证了一些原理。现将自己的经历过程和一些感悟总结分享一下,也以便自己日后查阅。 首先是下载Apache、Tomcat、JK,这没什么说的,主要注意一下需要的Apache的版本,然后是Apache、To原创 2015-05-02 15:09:59 · 2016 阅读 · 2 评论 -
如何将Eclipse的一个工作空间的配置文件复制到另一个工作空间
问题: 我们在使用Eclipse创建一个新的工作空间时,发现其配置是默认的。习惯了使用以前配置过的工作空间(如字体、字体大小、语言编码规范......),现在又要重新配置一遍是要花时间和精力的,那么我们会想到去找以前的配置文件将其复制过来,那样熟悉的环境又出现了,又可以快乐的打代码了。解决方法:1、找到旧的工作空间的配置文件目录:\.metadata原创 2017-06-16 13:44:21 · 2176 阅读 · 0 评论 -
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 · 19474 阅读 · 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 · 8908 阅读 · 2 评论 -
AJAX的底层实现原理
创建一个 XMLHttpRequest 对象(由于浏览器不同需要 相应判断处理),设置相应的请求信息(通过open来做,例如请求地址等 设置 );然后我们绑定 onreadystatechange 事件,在这个事件中我们根 据服务器返回状态的不同来做出不同处理,这其中主要是请求成功后接收相应的返回值来通过 javascript 对客户端做出相应操作(我 们只是使显示有关信息);最后我们发送这个请 求(通过send方法)。转载 2017-05-25 14:09:31 · 17649 阅读 · 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 · 6161 阅读 · 1 评论 -
如何在高并发分布式系统中生成全局唯一Id
一些精彩评论(部分更新到原博文对应的地方)一、数据库文件体积只是一个参考值,可水平扩展系统性能(如nosql,缓存系统)并不和文件体积有高指数的线性相关。如taobao/qq的系统比拼byte系统慢,关键在于索引的命中率,缓存,系统的水平扩展。如果数据库很少,你搞这么多byte能提高性能?如果数据库很大,你搞这么多byte不兼容索引不兼容缓存,不是害自已吗?如果数据库要求伸缩性,你搞这么多byte,需要不断改程序,不是自找苦吗?如果数据库要求移植性,你搞这么多byte,移植起来不如重新设计,这转载 2016-05-17 02:36:26 · 3413 阅读 · 0 评论 -
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 · 12087 阅读 · 0 评论 -
eclipse 中git解决冲突
1、工程->Team->同步: 2、从远程pull至本地,就会出现如下内容: 3、使用Merge Tool,执行第二项使用HEAD合并后的效果: 4、再手动修改 4、修改后的文件需要添加到git index中去: 5、冲突文件变为修改图标样式,再提交至本地,此时的提交转载 2015-06-11 09:22:41 · 3001 阅读 · 0 评论 -
使用Apache通过JK实现多Tomcat负载均衡集群时,Apache不能将请求分发给Tomcat处理(即Apache反向代理不成功)的问题
前些天在做Apache通过JK实现多Tomcat负载均衡集群时,参考网上的配置将配置文件配置好后,访问已存在tomcat中的JSP文件时发现Apache提示URL不存在,然后检查了配置文件及tomcat工程部署,发现配置部署均无问题。尝试访问Apache静态页面,通过http单独访问tomcat均无问题。然后我猜会不会之前参考的网上的配置有问题,于是继续查询网上其它配置发现都差不多,尝试更改各种参原创 2015-05-02 00:18:07 · 4891 阅读 · 0 评论 -
session原理及集群中session共享实现原理
转载网上看到的两篇关于集群中实现session共享的两篇文章,个人觉得不错,学习了:对Web服务器进行集群,Session的安全和同步是最大的问题,实现Session同步有很多种方案,常见的可能的方式有:1、客户端Cookie加密。 用的较少,此处不详述。2、Session复制。 参与集群的每个节点的Session状态都被复制到集群中的其转载 2015-05-02 16:51:32 · 9600 阅读 · 0 评论 -
activity的android:name所指的Activity实现类的简写问题
package="com.example.android.apis">原创 2013-07-17 00:42:39 · 6509 阅读 · 0 评论 -
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 · 1393 阅读 · 0 评论 -
远程桌面超出最大连接数怎么办
一台远程服务器,PCanywhere显示连接忙,无法连接。使用远程连接显示“超过了最大允许连接数”,第一个问题可以过去操作一下服务器,但是也必须把第二个问题解决,搜索了一下,摘抄一些有用的东西。步骤/方法使用远程桌面的朋友可能经常会遇到“超出最大允许连接数”的问题,这是因为remote desktop for administrator缺省设置是2个连接,而且如果远转载 2013-01-06 11:24:24 · 1277 阅读 · 1 评论 -
一个典型的Spring的applicationcontext.xml配置文件
<br /><?xml version="1.0" encoding="UTF-8"?><br /><beans<br /> xmlns="http://www.springframework.org/schema/beans"<br /> xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"<br /> xmlns:aop="http://www.springframework.org/schema/aop" <br /> xm转载 2011-05-14 00:34:00 · 4499 阅读 · 0 评论 -
如何在将Jboss 安装为Windows 服务时设定系统参数(jboss5和jboss6下必须这么做才能将jboss安装为Windows 系统服务)
<br />从Jboss4 开始,其默认的绑定地址,即jboss.bind.address 属性,变成了127.0.0.1。就意味着只有本机可以访问jboss 上部署的服务。<br />怎样去指定Jboss 的绑定IP 呢?(以下内容针对Jboss5)<br />我们知道,可以通过设定系统参数jboss.bind.address 来指定Jboss 的绑定IP,但是Jboss 启动时不能识别传递给JVM 的系统参数,即在JAVA_OPTS 中增加-Djboss.bind.address=0.0.0.0 不会有转载 2011-05-13 23:46:00 · 2159 阅读 · 1 评论 -
DOS下的命令,用于启动/关闭服务
<br />简单介绍两个DOS下的命令,用于启动/关闭服务:1、net start 启动服务,或显示已启动服务的列表。如果服务名是两个或两个以上的词,如 Net Logon 或Computer Browser,则必须用引号"服务名" net start //显示当前所有已启动的服务 net start [services] //启动指定服务 net stop [services] //停止指定服务services包括下列服务: alerter、cl转载 2011-05-13 23:44:00 · 4588 阅读 · 0 评论 -
cvc-complex-type.3.2.2: Attribute 'singleton' is not allowed to appear in element 'bean
<br /> 在spring2.0中,bean没有“singleton”这个属性,而是在“scope”中对它进行设定。“scope”可以设定为“singleton”和“prototype”默认情况下是“singleton”即和原先的“singleton=true”性质一样,如果要实现单例模式则将“scope”设定为“prototype”,即和原先版本的“singleton=false”一样。参考文档链接地址:http://www.springframework.org/schema/beans/spring转载 2011-05-14 00:42:00 · 22920 阅读 · 1 评论 -
hibernate批量数据插入优化
Hibernate批量处理: Hibernate批量处理其实从性能上考虑,它是很不可取的,浪费了很大的内存。从它的机制上讲,Hibernate它是先把符合条件的数据查出来,放到内存当中,然后再进行操作。实际使用下来性能非常不理想,在笔者的实际 使用中采用下面的第三种优化方案的数据是:100000条数据插入数据库,主流台式机的配置,需要约30分钟,呵呵,晕倒. 总结下来有三种来处理以解决性能问题: 1:绕过Hibernate API ,直接通过 JDBC API 来做,这个方法性能上是比较好的。也是最快的.转载 2011-03-18 10:24:00 · 6012 阅读 · 2 评论 -
com.mysql.jdbc.driver 和 org.jgt.mm.mysql.driver 有什么区别
<br /> 今天要写一个连接数据库的类,忽然想问一下aorg.gjt.mm.mysql.Driver和com.mysql.jdbc.Driver到底有啥区别,在网上找了一下,系统的文章没有多少,我总结一下把.<br /> "org.gjt.mm.mysql.Driver 是当时最好的MySQL JDBC,但不是MySQL公司的,然后MySQL将MM的JDBC驱动收为官方的JDBC驱动,所以将驱动的package也该了,但还保留了org.gjt.mm.mysql.Driver这个路径的引用,也就是你使原创 2011-05-09 00:43:00 · 3718 阅读 · 1 评论 -
oracle 删除一个表中全部的数据,速度很快 TRUNCATE
<br />TRUNCATE TABLE tableName <br /><br />tableName是要删除全部行的表的表名 <br /><br />TRUNCATE TABLE 虽然与不带 WHERE 的 DELETE 语句相同 <br />但 TRUNCATE TABLE 速度更快而且占资源少速度快 <br /><br />TRUNCATE TABLE 不记录日志所以不能激活触发器 <br /><br />TRUNCATE TABLE 不能用于参与了索引视图的表 Sql代码 TRUNCATE TA转载 2011-03-18 13:16:00 · 1798 阅读 · 0 评论 -
字母数字下划线常用正则表达式
<br />1.由数字、26个英文字母或者下划线组成的字符串:<br />^[0-9a-zA-Z_]{1,}$<br />2.非负整数(正整数 + 0 ):<br />^/d+$<br />3. 正整数:<br />^[0-9]*[1-9][0-9]*$<br />4.非正整数(负整数 + 0):<br />^((-/d+)|(0+))$<br />5. 负整数 :<br />^-[0-9]*[1-9][0-9]*$<br />6.整数:<br />^原创 2011-03-15 17:11:00 · 12399 阅读 · 0 评论