所有文章

  • 【原】Arrays.copyOf和System.arraycopy的关系和区别

    JAVA开发Arrays.copyOf和System.arraycopy的关系和区别

    实现一个复制数组的功能,java为我们提供了两种API,Arrays.copyOf和System.arraycopy,那么这二者有什么区别呢?又有着什么样的联系呢?老规矩,我们直接看源码:/***Copiesthespecifiedarray,truncatingorpaddingwithnulls(ifnecessary)*sothecopyhasthespecifiedlength.Forallindicesthatare*validinboththeoriginalarrayandthecopy,thetwoarrayswill*contai...

    不忘初心 不忘初心 2019-03-17 围观(269) 评论(0) 点赞(11) JAVA开发

    阅读更多
  • 【原】Srping事务的七种传播特性

    JAVA开发Srping事务的七种传播特性

    上一篇文章中见过了事务的特性以及隔离级别,今天来说一下事务的传播性,事务是一个好东西,但是并不是每一个方法都应该加上事务,在事务的隔离级别中提到过一点:越是严格,耗费的性能越大,那么如果每个方法都加了事务,而不论是否会涉及到数据的修改,那么这就属于事务的滥用了,没起到应有的作用不说,反而还会一点点的拖慢你的系统。为了应对这一问题,“事务的传播性”这一概念又横空出世了,打个最简单的比方:现在的项目中,大多都分层,controller层+service层+dao层,而业务一般都堆积在service层,要么是service调service,要么是serv...

    不忘初心 不忘初心 2019-03-15 围观(1119) 评论(0) 点赞(11) JAVA开发

    阅读更多
  • 【原】发送http请求,报错:Cannot write output after reading input.

    JAVA开发发送http请求,报错:Cannot write output after reading input.

    最近对接一个第三方,有专门的系统来对接,我们直接对接内部的系统即可,但是调用接口时,发现一直报错:Cannot write output after reading input,大概意思是不能在读取了输入流之后去写输出流。起初还以为是对接第三方报错了,仔细检查一番,竟然是同事的代码写的有问题,开启了两次输出流。错误信息如下:2019-03-1211:51:03,717ERRORTongDunManager:[ApiInvoker]invokethrowexception,details:java.net.ProtocolException:Cann...

    不忘初心 不忘初心 2019-03-12 围观(1751) 评论(0) 点赞(11) JAVA开发

    阅读更多
  • 【原】Freemarker字符串转义处理,防止引号冲突

    JAVA开发Freemarker字符串转义处理,防止引号冲突

    freemarker一直是我在模板引擎中的首选,网站在引入百度分享的时候,碰见了一个字符串转义的问题,具体表现为:后端传过来的字符串中是带有引号的,而我的变量接受的时候,由于是字符串类型,所以我也写了引号,此时,如果后端没有做转义,直接在js中解析出来就会有问题。 这个问题,并不是我第一次碰见,之前也碰见过一次,直接用一个js变量来接收后端返回的值,由于当时用的不是freemarker模板引擎,所以不是很熟悉语法,最后不得已用了一种比较蠢的方法来处理:将文本提前解析到一个pre标签中,再拿js去获取。 两次的问题都是同一个原因,特意来写一篇文章记录...

    不忘初心 不忘初心 2019-03-10 围观(7078) 评论(0) 点赞(23) JAVA开发

    阅读更多
  • 【原】交叉死锁典型案例分析图文教程

    JAVA开发交叉死锁典型案例分析图文教程

    关于锁(Lock),大家并不陌生,不管是工作中,还是在学校中,都能接触得到,它的诞生是具有划时代意义的,但同时它也是一把双刃剑,用得好可以提升程序的安全性,用得不好,那对不起,反而还会有一些暗坑在等着你。耳熟能详的暗坑大概就是死锁,也是今天要说的主要知识点,死锁产生的核心原因就是线程之间互相等待,但是一直又等不到。死锁的表现方式有很多种:交叉锁:一根独木桥,两个人分别从两端走上来,如果谁都不让谁先过,最后导致的结果就是两个人都一直卡在桥上,这个现象在程序中就称之为“死锁”;内存不够:两个线程一起执行某个任务,分别获取了20M内存,但是执行任务最小需...

    不忘初心 不忘初心 2019-03-08 围观(992) 评论(0) 点赞(31) JAVA开发

    阅读更多
  • 【原】mysql存储过程使用实例图文教程

    JAVA开发mysql存储过程使用实例图文教程

    之前有讲过使用mybatis调用存储过程,现在来说一下如何在sql中调用,单纯的通过sql执行,不借助任何执行数据库客户端工具。在navicat中执行很简单,直接点一下按钮:只要参数没有漏,基本上就可以调用存储过程了,而且这种方式,发生漏参数的概率很小,除非你故意不写。现在来看一下,如果不使用navicat,该如何调用存储过程呢?--in类型的入参set@v_id=7;set@v_type=1;set@v_qsrq='2019-02-0100:00:00';set@v_zzrq='2019-02-2823:59:59'...

    不忘初心 不忘初心 2019-03-05 围观(894) 评论(0) 点赞(22) JAVA开发

    阅读更多
  • 【原】Linux下tomcat启动卡住的解决方案图文教程

    JAVA开发Linux下tomcat启动卡住的解决方案图文教程

    之前的服务器到期了,新入手了一台云服务器,在发布工程的时候,发现tomcat卡住很久,之前的服务器没有这个问题,开始以为是项目哪里配置出错了,自己检查了没问题,在本地也是可以启动的,就是在新买的这台服务器上面超级慢,一度让我怀疑是否新买的服务器有问题,一波百度下来,发现原来这个问题可以从tomcat着手找原因。。。大家可以看到,这两行日志之间卡了将近4分钟之久,真的是不能忍,具体日志信息如下:02-Mar-201918:32:34.158INFO[main]org.apache.catalina.startup.VersionLogger...

    不忘初心 不忘初心 2019-03-02 围观(1689) 评论(0) 点赞(30) JAVA开发

    阅读更多
  • 【原】Mybatis调用MySQL存储过程图文教程

    JAVA开发Mybatis调用MySQL存储过程图文教程

    存储过程,一个在笔者看来“很难用”的东西(主要还是菜),工作中碰见的也很少,逻辑简单的还好,逻辑一旦复杂了,这个东西看起来并没有代码这么直观,一旦注释没写好,或者同事离职了,后面维护的人简直痛不欲生。最近的接手的一个项目中,DAO层使用的是mybatis,各种功能的实现都是自己写sql,今天碰到一个统计功能,是由别人写好的存储过程,需要我用Mybatis来调用,本来以为很简单的东西,可硬是来来回回折腾了好几次,在此记录下调用过程中碰到的一些问题。代码太长了,只展示一下入参和出参:CREATEDEFINER=`root`@`%`PROCEDUR...

    不忘初心 不忘初心 2019-03-01 围观(1404) 评论(0) 点赞(43) JAVA开发

    阅读更多
  • 【原】mybatis-generator代码自动生成插件的使用图文教程

    JAVA开发mybatis-generator代码自动生成插件的使用图文教程

    工作中用到的两个主流orm映射框架:hibernate、mybatis,刚毕业那段时间,一直用的都是hibernate,毕竟不用写sql了,当时用的是不亦乐乎,可是后来慢慢发现,这个框架还是无法做到足够精细化的查询,也就是说还是要写sql,果断放弃之,逐渐的转向了mybatis,用着用着也不是很爽了,为什么?一些复杂的sql自己写写也就算了,可是碰到一些基本的增删改查,这些都需要自己手动来写,这就不是很开心了。毕竟像我这样的懒人还是多,很早的时候,就有前辈们写出了一个maven插件来决绝这个问题了,它就是今天要讲的工具:mybatis-gene...

    不忘初心 不忘初心 2019-03-01 围观(663) 评论(0) 点赞(11) JAVA开发

    阅读更多
  • 【原】JVM内存模型及分区的理解

    JAVA开发JVM内存模型及分区的理解

    Java自从面世以来,得到了广泛的应用和飞速的发展,除去一些抽象的概念性的创新,让人津津乐道的就是实用性和上手快。在以前使用C编程的时候,程序员对于内存是有生杀大权的,每一个对象从开始创建到销毁,都需要通过代码手动来管理,这就让人觉着很麻烦,也很辛苦,而java正是解决了这一大痛点,所以一经面世,就一直火到现在。java虚拟机提供了GC来自动管理内存,这样开发者就不用专门写代码来处理这个问题,可以将大量的时间投入到代码层面。这一切看起来非常美好,但正是因为太过于美好,将细节全部都封装起来了,开发者丢失了对jvm内存的基本了解,在出现内存问题的...

    不忘初心 不忘初心 2019-02-28 围观(1227) 评论(0) 点赞(26) JAVA开发

    阅读更多
  • 【原】Linux环境下tomcat控制台乱码解决方案

    JAVA开发Linux环境下tomcat控制台乱码解决方案

    由于云服务器快要到期了,所以新购了一台服务器,将工程迁移过去了,运行发布都没什么问题,可是查看日志的时候却发现控制台出现了乱码,所有打了中文注释的地方,几乎全都是????第一反应是项目中的编码不对,遂检查了spring的encodeFilter,没发现有什么不对<filter><filter-name>encodingFilter</filter-name><filter-class>org.springframework.web.filter.CharacterEncodingFilter</...

    不忘初心 不忘初心 2019-02-20 围观(1235) 评论(0) 点赞(11) JAVA开发

    阅读更多
  • 【原】Access-Control-Allow-Origin重复跨域问题

    JAVA开发Access-Control-Allow-Origin重复跨域问题

    之前在备案期间,由于解析不了域名,所以就将域名全部代理到了本地,项目之间涉及到多个域名,碰到了字体文件跨域问题。以前一直用windows系统,本地nginx配置也很好办的,header中加一个Access-Control-Allow-Origin就好了location~.*\.(eot|ttf|woff|svg|otf|woff2)${if(!-e$request_filename){proxy_passhttp://cdn;}proxy_redirectoff;proxy_set_headerHost$host;add_headerAccess-...

    不忘初心 不忘初心 2018-09-20 围观(6298) 评论(0) 点赞(21) JAVA开发

    阅读更多
  • 【原】mybatis中foreach的变量名和if的变量名相同

    mybatis中foreach的变量名和if的变量名相同mybatis中foreach的变量名和if的变量名相同mybatis中foreach的变量名和if的变量名相同mybatis中foreach的变量名和if的变量名相同

    在mybatis中,为我们提供了一个foreach标签,可以很方便的用来实现in语句,今天在使用的时候,碰到了一个细节问题,foreach标签中的变量名称和if条件中的变量名称一模一样,导致最后生成的sql出了问题。需求是要能够根据标签做出批量查询和单独查询,所以写了两个if标签,查询的时候,传递了批量查询的参数,但是单独查询的sql也被生成出来了,而且值还是批量查询的最后一个。不太好描述,还是直接上图片:大家可以看到上图中,第一个and中是根据tags做一个in查询,第二个and中是根据tag做一个like查询,但是问题来了,第二个and...

    不忘初心 不忘初心 2018-02-26 围观(269) 评论(0) 点赞(51) JAVA开发

  • 【原】SwingQQ窗体抖动效果

    SwingQQ窗体抖动效果SwingQQ窗体抖动效果

    之前讲过了好友列表的闪烁,消息来临的时候,能第一时间知道,但是有时候消息太多了,实在没看到,QQ还提供了一个必杀技——窗体抖动,这个功能也非常的好用,给好友发送抖动窗口了之后,直接强制将聊天窗口弹出来,并且在屏幕上抖一抖,这样总该能看到消息了。今天来教大家如何让swing窗体也抖动起来,实现原理非常的简单,上一篇文章中讲过好友头像的闪烁,就是动态改变窗体的坐标,还需要加入一个循环,让抖动的效果持续一会儿。好了,没多少要说的,直接给代码了:packagecom.wolffy.frame;importjavax.swing.JButton;im...

    不忘初心 不忘初心 2017-12-19 围观(1076) 评论(0) 点赞(51) JAVA开发

  • 【原】SwingQQ消息来了好友头像闪动

    SwingQQ消息来了好友头像闪动SwingQQ消息来了好友头像闪动SwingQQ消息来了好友头像闪动

    在使用QQ的时候,当有人给我们发消息,好友列表里面,他(她)的头像就会开始闪烁,如果收起了分组,那么好友分组又会开始闪烁,这个功能非常的强大,也非常的实用和人性化,能够第一时间通知用户,极大的提升了用户体验。之前在iteye上发表的SwingQQ项目中已经有这个功能了,但是杂糅在了一起,看起来不太方便,今天来单独就这个功能写一篇文章,方便大家更清晰的学习如何实现这个功能,来几张效果图看看:上图中,是展开状态下,我点击消息来啦的按钮之后,好友1-1的头像就会开始来回闪动,向右偏移了1个单位,看起来不太明显,大家以那个企鹅的眼睛来做对比,就会发现...

    不忘初心 不忘初心 2017-12-18 围观(190) 评论(0) 点赞(55) JAVA开发

站点信息

  • 网站程序:spring + freemarker
  • 主题模板:《今夕何夕》
  • 文章统计:篇文章
  • 标签管理标签云
  • 微信公众号:扫描二维码,关注我们