自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

风上人的专栏

宠辱不惊,坐看庭前花开花落;去留无意,漫随天上云卷云舒。

  • 博客(154)
  • 收藏
  • 关注

原创 百度OCR java-SDK做图文识别

OCR图文识别技术现广泛应用于银行卡身份证等信息读取、办公文档识别(替代扫描)、车辆号码识别、印章、二维码识别等场景,成为人们生活的方便助手。

2022-08-12 18:43:09 995

原创 CountDownLatch与CyclicBarrier

CountDownLatch和CyclicBarrier都是用于多线程同步的工具

2022-06-29 10:05:52 166

原创 使用lombox踩到的坑

现在很多人喜欢使用lombox,这个梗从使用IDEA,开始是为了不用写get/set方法(@Data),后来还衍生了构造函数(@Build)。正因此,踩到两个坑!1、使用builder后,Model的默认属性值没有了;查看生成的class就能找到原因。预防的办法是在属性上面添加@Builder.Default。2、使用builder后,Mybatis 查询语句SELECT部分必须使用全字段或*,否则容易产生IndexOutOfBoundsException。这个必须查看Mybatis源代码才能发现,预防的办

2022-06-17 15:54:53 180

原创 websocket心跳机制

作为一种双工通讯的协议,websocket在服务端与客户端保持一个长链接,但当我们使用nginx等反向代理中间件时,每隔60秒左右会检查长链接的活动状态,当在一个60秒的周期内没有通讯(发送数据)是,链接会被断开。所以使用websocket必须实现一种定期检测机制,在tomcat-websocket和spring-websocket中,都提供了Ping-Pong消息。工作过程是:1、服务端发送PingMessage,2、浏览器接受后自动回复一条PongMessage;3、服务端在OnMessage方法中

2022-05-18 16:47:18 2665

原创 Spring切片拦截-Aspect

1、maven依赖:<dependency> <groupId>org.aspectj</groupId> <artifactId>aspectjrt</artifactId> <version>1.8.1</version></dependency><dependency> <groupId>org.aspectj</groupId>...

2022-05-11 19:02:52 216

原创 ArrayBlockingQueue与LinkedBlockingQueue对比及性能分析

没了解之前,认为Array上需要移动元素所以性能更差,但实际并非如此。相同点:LinkedBlockingQueue和ArrayBlockingQueue都是可阻塞的队列(内部都是使用ReentrantLock和Condition来保证生产和消费的同步;当队列为空,消费者线程被阻塞;当队列装满,生产者线程被阻塞.)不同点:1、队列中的同步锁机制不同ArrayBlockingQueue中的锁是没有分离的,即生产和消费用的是同一个锁; 使用一个ReentrantLock来保证线程安全:入列和

2022-04-01 13:42:53 2495

原创 Spring产品概要

=================================spring-task=================================@EnableScheduling => ScheduledAnnotationBeanPostProcessor registrar = new ScheduledTaskRegistrar(); postProcessAfterInitialization(bean,beanName) MethodIntros...

2021-08-25 15:47:22 132

原创 常用linux运维指令

安装系统功能========================================= yum install lrzsz -y #sz、rz yum list telnet* #查看telnet相关的安装包 yum install telnet-server #安装telnet服务 yum install telnet.* #安装telnet客户端 yum install net-too...

2021-08-25 15:44:47 98

原创 JWT鉴权方案(RFC 7519)

JWT全称是JSON Web Tokens,是在分布式应用环境间传递身份信息而执行的一种基于JSON的开放标准--(RFC 7519)。它与普通的token方案需要在服务端存储(redis)不同,用户的信息本身就存储在jwt里面。 jwt分为三部分:header、payload和signature,三者之间通过"."分隔。Header申明了JWT使用的签名算法,如:'{"alg":"HS256","typ":"JWT","zip":"flat"}';payload则可以包括如:...

2021-08-25 13:47:56 567

原创 文件 .gitignore内容

# maven ignoretarget/*.jar*.war*.zip*.tar*.tar.gz# eclipse ignore.settings/.project.classpath# idea ignore.idea/*.ipr*.iml*.iws# temp ignore*.log*.cache*.diff*.patch*.tmp*.java~*.properties~*.xml~.springBeans.factorypath# sys

2020-12-04 08:43:44 139

原创 DruidDataSource拷贝一个易错点

DruidDataSource dataSource = this.dataSource.cloneDruidDataSource(); dataSource.setConnectionProperties(null); // dataSource.setUrl(this.jdbcUrl); dataSource.setUsername(this.username); dataSource.setPassword(this....

2020-09-25 09:27:18 319

原创 Mybatis使用细节

1、@Select 定制SQL语句,不光where参数,连表名都可以传进来@Select("SELECT sum(num) as total, avg(num) as average FROM ${tableName} WHERE statis_date between #{beginDate} and #{endDate}") SumAverage averageDayNum(TableParams params);2、对于java基础类型或Map,parameterType可以简写。...

2020-08-03 19:04:46 357

原创 mybatis插件实践

Mybatis是当今最普遍使用的数据持久化框架,这点拒绝反驳。Mybatis调用链:SqlSessionInterceptor.invoke() DefaultSqlSessionFactory.openSession(executorType): DefaultSqlSession ->Configuration.newExecutor(): sqlSession //interceptorChain.pluginAll(excutor); DefaultSql...

2020-06-02 16:21:40 144

原创 maven打包添加本地 jar文件到 war中

第一种:<plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-war-plugin</artifactId> <configuration>...

2020-04-20 18:07:55 256

原创 eclipse下解决git冲突

1、右键”team”,选择“merge tool”,打开的视图中可以查看到冲突内容; 选择“Use HEAD”2、修改之后,右键”team”,选择“Add to Index”3、直接commit,push...

2020-04-20 17:58:02 373

原创 自定义spring能解析的标签

众所周知,@Component、@Configuration、@Service、@Controller、@Repository是Spring标识一个组件的validation,只要某个类在确定的包名下,spring就能实现自动的IoC。可通过以下几种方法,实现可被spring理解的Annotation:1、使用@Configuration修饰,则会认为也是一个@Configuration;...

2019-03-14 08:21:23 146

原创 使用requirejs实现include功能

使用过boostrap系列的人,都有一个不爽的地方:每个bootstrap的组件都包含一系列css样式,如果我们一个页面使用2个以上组件,则需要同时引入4行以上代码,比如:为了节省代码和修改的方便,则我们首先会想到像&lt;jsp:include /&gt;那样,将这些语句写到一个 resource.html文件中,其他页面直接“include”即可。不幸的是,目前为止除了 chrome等...

2018-09-03 12:29:10 1396

原创 dubbo异步调用三种方式

异步通讯对于服务端响应时间较长的方法是必须的,能够有效地利用客户端的资源,在dubbo中,消费端通过 async="true"标识。 具体有三种方式:1、NIO future主动获取结果,返回结果放在RpcContext中 需要注意的是,由于RpcContext是单例模式,所以每次调用完后,需要保存一个Future实例;如: fooService

2017-12-25 09:31:57 14569 1

原创 SpringBoot AutoConfiguration

学习SpringBoot之前弄清一个概念:SpringBoot只是一个配置框架,而不是Spring Framework的重写。那么,它最重要的一个特性就是AutoConfig,这一点与Spring Framework的stereotype一样。之所以能做到自动注入,主要的就是SpringFactoriesLoader类负责载入:classpath:META-INF/spring.factories

2017-11-07 09:33:05 689

原创 bootstrap使用手册

本博会不断第更新。。。。1、bootstrap其实是bootstrap+jquery,现在jquery成为了javascript的标准库,很少有组件不依赖于它。2、一些特殊符号很有用,可以当做页面的功能小图标。比如:删除(叉号)、增加(加号)、确定(对勾)等。直接添加标签就可以。3、无论bootstrap或bootstrap-table,直接使用jquery元素就能实现bootstra

2017-08-24 13:17:15 2224

原创 Spring PropertyPlaceholderConfigurer解析及应用

以前知道有,但始终不甚明白Spring定义bean时是怎么把properties中的属性值读进去的,有时候将属性放在System里面时而可以时而不行。今天查看下源代码结构:PropertyPlaceholderConfigurer 》PlaceholderConfigurerSupport 》PropertyResourceLoader implementsBeanFactoryPos

2017-07-19 11:09:06 466

原创 理解CXF JaxWsDynamicClientFactory jaxb绑定时的错误

这段时间在使用CXF发布、调用webservice时,有两个问题:1、Marshalling Error: class java.util.HashMap以及其任何超类对此上下文都是未知的。第一个问题很明显,JAXB不知道如何序列化HashMap的属性,这时需要自定义一个XmlAdapter>,实现marshal()和unmarshal()方法即可。其实,如果了解JAXB的人都知道,在

2017-05-12 09:47:51 5265

原创 理解Spring-javaconfig

JavaConfig原理servlet3.0标准提供了ServletContainerInitializer接口和HandlesTypes注解,在Web容器启动时完成一些初始化操作,功能同ServletContextListener。Spring中的实现类:SpringServletContainerInitializer,以及HandlesTypes注入的是WebApplicationI

2017-03-15 16:29:39 2639

原创 BSH--Java Shell,Java也执行脚本语言

谁说JVM只能执行编译过后的class?(java语言)JSH帮你轻松搞定shell脚本,这点现在已经成为了一个标准:JSR-274。能够应用于用动态规则改变业务流程的场景。另:在这之前,还有Groovy(JSR- 241)也能在JVM中运行。最新版本:2.0b4,官网:http://www.beanshell.org例1:public static void main(Str

2017-02-09 16:46:19 2596

原创 Axis2 start guide

下载:http://ws.apache.org/axis2/最新版本 axis2-1.6.3-war.zipaxis2  |--axis-web  [axis的管理页面]  |--WEB-INF     |--conf/  [配置文件:axis2.xml]     |--services        |--services.list [文本文件]|--*.aar  

2016-03-03 16:16:42 425

原创 Mysql引擎 Innodb和MyISAM的区别

本文是摘抄其他网文整理而成。create database xxx engine=InnodbMysql数据库分为Innodb和Myisam两类。两者最主要的区别是:Innodb支持事务处理、外键和行级锁.而MyISAM不支持,所以如果CUD比较频繁或要求事务一致性的,使用Innodb比较好,反之使用Myisam比较好。具体区别如下:1、索引:MyISAM的索引和数据是分开的,并且索引是有

2016-02-19 17:45:32 7012

原创 在客户端使用JSONP做跨域请求

在javascript/ajax中,由于安全原因,请求都是是遵循“同源策略”的,即不能请求其他域名内(任何其他二级以下域名或其他端口)的资源。但的src属性可以指定为其他域的文件!!所谓jsonp就是这个问题的一种掉渣的解决方案,原理正是利用script的这一特性。首先,在客户端页面(domain1/jsonp.html)定义一个callback方法:function callback

2016-01-18 15:42:20 2220

原创 关于P2P资金托管的知识

马上就要做P2P的资金托管了,先写些自己理解的条条,不算做权威的腔调,以后还将不断的修改。1、目前P2P的资金管理方式分为两类:A,资金存款;B,资金托管。前者是将投资人的钱先打到P2P平台账户,然后再打到融资人的账户;后者是直接将投资人的钱打给融资人,P2P平台只收取一定的信息“撮合”费用。显然,第一种容易产生“平台跑路”事件。2、由于P2P企业不能做现金业务,所以这里的资金管理都是委托

2016-01-10 12:59:54 1092

原创 java标准--校验参数

在写接口实现的时候,经常会在方法的开始,对参数做各种判断,如:if (name == null){.......}现在好了,RSR-303提供了一套标准的annotation,只要在参数上加上如@NotNull,一切就交给javax.validation的实现去做吧!我们常用的实现有hibernate-validation-4.2.0-Final。ValidationFactory vf

2016-01-06 11:30:16 9300 1

转载 解决eclipse报错: CreateProcess error=87

错误原因:工程的路径太长,

2014-07-07 22:44:56 4348 1

原创 生活充满欺骗,不由你不信

从小一直觉得真善美存在,至少大部分人是善良的。可经历过买房买车的人都知道,这世界其实充满欺骗,在利益面前,什么都是操蛋。下面历数亲身经历的一些教训:        1、在你报名房产电商的看房团前,电商会宣传:有精美礼品放松,到场有抽奖活动。等你登上他的车,到达目的地后才发现,原来仅是送一张地图、要回答楼盘的各类信息才有可能得到优惠券。优惠券是什么人人都知道,不买这楼盘,就是一张纸。   

2013-09-19 07:35:20 1648

转载 李某同案律师下挑战书

给李家律师们的挑战书  李家台前幕后的律师们:  近来,在李某某等人强奸案庭审结束后,你们在谴责办案机关的同时,也多次公开地指责包括我在内的罪轻辩护律师,一会儿用微博说我们是公安出来的,一会儿用视频说我们是“替被告人认罪”,有违律师职业道德,云云。李某某的母亲公开骂我们,我并不介意,因为她不知法,救子心切,我可以容忍。但你们中有已著名的大律师、刚著名的大律师,深谙法律。现在为了证明

2013-09-13 20:42:23 668

原创 jar打包META-INF/MANIFEST.MF--注意

打包:META-INF/MANIFEST--注意Manifest-Version: 1.0 Main-Class: package.classname Class-Path: a.jar b.jar   后面跟着一个英文的冒号,冒号后面必须跟着一个空格   Class-Path中的各项应使用空格分隔,不是逗号或分号。   Class-Path中如果有很多项,写成一行打包的时

2013-08-15 11:12:27 4323

原创 Solr4.1实验的几个问题

尽信书不如无书,在使用Solr4.1过程中遇到几个问题:1、SolrCloud中有两个新的逻辑概念:collection >> Shard,collection是表示一个完整的数据集,Shard是部分的数据。2、SolrCloud自带ZK来管理集群,当启动一个ZK时没问题,但当启动一个ZK集群时报错(-DzkHosts=host1:port1,host2:port2),报错的大意是端口错误

2013-03-06 15:12:31 1445 1

原创 性能测试指标:CPU Load和CPU利用率的关系

CPU利用率,顾名思义就是对于CPU的使用状况,这是对一个时间段内CPU使用状况的统计,通过这个指标可以看出在某一个时间段内CPU被占用的情况,如果被占用时间很高,那么就需要考虑CPU是否已经处于超负荷运作,长期超负荷运作对于机器本身来说是一种损害,因此必须将CPU的利用率控制在一定的比例下,以保证机器的正常运作。Load Average是CPU的Load,它所包含的信息不是CPU的使用率

2012-12-24 12:56:02 17093

原创 一个老板的三句话

一个男人在外工作20年,终于要回家了,老板问他:你是要20年的工资还是要3句忠告?男人说我明天上路,明早给您答案好吗?老板说可以。当晚男人未眠…早晨,他对老板说:我要3个忠告。于是老板给他3句话。一、不要试图寻找不可能的捷径,世上没有便宜的事,只有脚踏实地才是最好的方法…无论做何事。二、不要对明知不是好事的事过分好奇,有可能你会因此而丧命。三、不要在冲动时做任何决定,否则这个决定就有可能成为你

2012-09-29 12:09:46 1141

原创 暴怒:我的婚姻乱象

我本一老实公民,像大多数程序猿一样,上下班两点一线,不到外胡来,可婚姻生活却遭受比猫还悲惨的际遇,不能不说是“遇人不淑”。       其实,心里的话很不想讲出来,毕竟是家丑、是人生中最大的一个败笔。因为这,我变得越来越封闭,在人前越发表现的不那么自在和少言寡语,直到前不久又收到传票,好不容易平静的生活得到恢复,又一次被那个无耻的贱人打搅了。今天先简单的叙叙这段不光彩的婚姻,以后再慢慢补充真相

2012-06-09 12:45:40 3557 1

转载 谢国忠:中国房地产存在泡沫

“中国房地产泡沫在某种程度上来说是政府所为,中国各级政府控制着土地供应,也掌握着各大银行。形象工程在地方政府支出中占了很大比例,地产泡沫和腐败行为,成为中国经济的软肋,其中灰色收入可能占到GDP的10%。如果中国政府屈从于外界压力,以保护增长的名义,通过大规模增发货币来复活房地产泡沫,会引发通胀,经济动荡,实际上人民币已经开始贬值了。  现在是最后的机会让泡沫破裂,也是调整的好时机。房地产的市

2012-06-09 09:37:29 16076

原创 想家人

一个人的社会角色确实很多,最基本在于家庭关系上,从生到死,由一个被呵护的对象到特立独行,再到牵挂别人,再到烦了别人,最后被人抛弃,也就短短数十年。在这个职责角色的转变过程最后,是否尽职尽责呢,有多少时候做的能令自己满意?长久的幸福感觉都是一样,但每个家庭的悲剧都不一样,对于身处异乡的工人,那种感觉就像把一颗心放在火焰上烤,一点点的慢慢的浆糊起来。。。年迈孤独的父母在家日渐操劳老去,等呀等,

2012-03-10 03:33:56 505

原创 孔雀东南飞

出来乍到一个新地方,总有许多不适应的地方,比如交通拥堵、语言习惯、生人生地,这些都要一点点地去摸熟它。但有时总需要换点不一样的环境,才能将自己好好的重新包装,忘记应该忘记的东西,洗洗睡也好,迎接新一天的早晨。不管愿意与不愿意,变是永恒不化的主题,老在一个地方呆久了,会容易使思维公式化。重要的是,自己觉得是往好的地方钻,而不是在走下坡路,工资只是衡量的上与下的其中一个尺度,还有文化、知识深度、养

2012-03-10 03:08:36 529

空空如也

空空如也

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

TA关注的人

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