所有文章

  • 【原】URLConnection利用VPN代理工具访问外网

    JAVA开发URLConnection利用VPN代理工具访问外网

    项目中使用的是Google的推送服务,今天线上出了问题,本地需要调试,但是做JUnit单元测试的时候,一直都是连接超时,而本机又是开了翻墙代理的,在浏览器中访问Google也都没问题。起初以为是IDEA需要翻墙才可以,百度查了一下,还真有人提到过这个问题,不过大都是说在线安装插件的时候需要翻墙,貌似和我这个关系不太大,虽然怀疑,但我还是给IDEA配置了HTTPProxy。上图中,红色框起来的两种方式,我都一一做了测试,但是没有一个成功的,依旧都还是SocketTimeoutException了。继续查阅资料,又看到有人提到说在启动项目的时候指定VM...

    不忘初心 不忘初心 2019-03-25 围观(1541) 评论(1) 点赞(23) JAVA开发

    阅读更多
  • 【原】常用的java绘图api(一)

    JAVA开发常用的java绘图api(一)

    Graphics,是java中画图的对象,从它衍生出来的还有Graphics2D对象,既可以简单的写写字,也可以画一些图形,如:矩形、圆形、三角形、多边形,还有一些复杂的API可以实现炫酷的效果,如:旋转、渐变。但是Swing这个东西现在用的并不多了,所以Java绘图也用的不多,最近无意中翻到了在之前公司做过的一个画图的项目,也有写过博客做分享(http://www.zuidaima.com/share/2457951855217664.htm),今天来整理一些常用的绘图API。setColor:设置画笔颜色getColor:获取画笔颜色/***G...

    不忘初心 不忘初心 2019-03-24 围观(2648) 评论(0) 点赞(13) JAVA开发

    阅读更多
  • 【原】HashSet的实现原理,与HashMap有何区别和联系

    JAVA开发HashSet的实现原理,与HashMap有何区别和联系

    JDk为我们提供了一些常用的数据结构,List、Map、Set这三种是使用最广泛的,List存放连续的数据,并允许为null,Map以键值对的形式存放数据,允许key和value为null,Set则可以存储无重复的数据。1、在map中,如果使用了相同的key,后面的value就会将前面的value覆盖掉,这也相当于说是key是唯一的,那这个作用岂不是和Set一样了?2、这二者之间又有什么区别和联系呢?3、Java数据结构中,除了数组和链表,似乎也没有什么可以直接和Set进行挂钩呢?之前的文章中,我们分析了ArrayList的源代码,这次我们同样来分...

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

    阅读更多
  • 【原】一个简单但实用的生成apiKey随机密钥的算法

    JAVA开发一个简单但实用的生成apiKey随机密钥的算法

    在项目开发工作中,免不了需要和其他系统对接,为了安全性,提供方总会分配给我们一个apiKey和apiSecret用来鉴权,一般都是数字和大小写字母的混合,最近在设计项目中的支付网关时,也用到了这个东西,不过这次不再是别人给我了,而是我设计给需要对接网关的系统。顺手将我用到的代码分享给大家,非常简陋,但是基本的功能还是可以满足的。/***生成指定长度的随机密钥*@paramlength长度*@return密钥字符串*/publicstaticStringuniqueId(intlength){//字符源,可以根据需要删减Stringsource="a...

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

    阅读更多
  • 【原】ArrayList初始大小、上限、扩容机制图文详解

    JAVA开发ArrayList初始大小、上限、扩容机制图文详解

    在使用arraylist的时候,从来没有手动给它指定过大小,每次使用都是直接newarraylist(),但是那么它的默认大小是多少呢?超出这个默认大小之后,它又是如何扩容的呢?扩容的前提条件是什么呢?上限又是多少呢?想弄清楚这个问题,最简单有效的方式就是看源码,今天就来给大家看一下它的扩容机制。本文中以jdk1.8.0_121为例,以截取代码片段的方式来逐一给大家分析:默认容量有一个DEFAULT_CAPACITY变量,大小为10/***Defaultinitialcapacity.*/privatestaticfinalintDEFAULT_C...

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

    阅读更多
  • 【原】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 围观(288) 评论(0) 点赞(11) JAVA开发

    阅读更多
  • 【原】SwingQQ之FEIQQ的MySQL版本下载

    软件下载SwingQQ之FEIQQ的MySQL版本下载

    几年前我有在iteye上面分享过自己用JavaSwing写过的一个仿QQ的聊天软件(http://www.iteye.com/topic/1137293),当时是抽下班的空闲时间练手写的,所以也不是很完善,只实现了基本的发送消息功能,而在数据库选型上,就直接图方便,用了和公司项目一样的Oracle,对我而言并没有任何影响。但是陆陆续续有很多人来向我请教问题,其中问的最让我头疼的一个问题就是:如何将数据库切换成MySQL?说实话,对于这种让我啼笑皆非的问题,我基本上是一概不帮忙处理,一个是忙,另外自己也实在是不想在这种简单的事情上浪费功夫。可是这几年...

    不忘初心 不忘初心 2019-03-13 围观(1465) 评论(0) 点赞(30) 软件下载

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

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

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

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

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

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

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

    不忘初心 不忘初心 2019-02-28 围观(1263) 评论(0) 点赞(26) 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 围观(338) 评论(0) 点赞(51) JAVA开发

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

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

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

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

  • 【原】java实现系统托盘图标

    JAVA开发java实现系统托盘图标

    我们在使用各类软件的时候,启动了之后,在电脑右下角会生成一个小图标,当软件最小化以后,点击这个小图标就可以再次将软件主界面调出来,这个小图标,专业术语就叫做“系统托盘图标”,今天就来教大家如何来给我们自己的swing程序设置一个托盘图标。 单独给系统托盘截图,看起来太小了,所以连着微信一起截个图吧,看起来也更清晰,上面是微信的主窗体,下面红色框里面的是系统托盘图标。 这个功能,官方已经提供了现成的API,主要用到两个类:SystemTray、TrayIcon,非常简单,没多少可说的,直接给代码了:package com.wolffy.frame;...

    不忘初心 不忘初心 2017-12-14 围观(1524) 评论(0) 点赞(52) JAVA开发

    阅读更多
  • 【原】自定义JTabbedPane详细图文教程

    JAVA开发自定义JTabbedPane详细图文教程

    之前写过两篇关于JTabbedPane组件的UI优化,当时给大家提到过一个思路,如果觉着原生的组件优化起来太麻烦,可以自己定义一个组件,可能有的人不知道怎么自定义,今天就来教大家一下,自己定义一个简单的JTabbedPane。还有一个非常重要的原因:JTabbedPane的tab页签如果有很多的时候,官方提供了两种处理方式,一种是换行展示,另外一种是左右切换,恕我直言,真的是丑的没法看。哎哟我去,丑到它妈都不认识它了哇,这个更丑,就不能来个滚动条吗?哎,没办法,自己动手丰衣足食,还是遵从我一贯的风格,简单大方,案例来模仿一下QQ的聊天窗口的结构,前...

    不忘初心 不忘初心 2017-12-13 围观(2851) 评论(0) 点赞(72) JAVA开发

    阅读更多
  • 【原】Swing界面优化JProgressBar详细图文教程

    Swing界面优化JProgressBar详细图文教程Swing界面优化JProgressBar详细图文教程Swing界面优化JProgressBar详细图文教程Swing界面优化JProgressBar详细图文教程

    在swing中,大部分控件都丑的不行,进度条控件jprogressbar,这个还算说得过去,就是默认颜色不咋的好看。今天的优化,还是一贯的风格,简单大方就好,先来张图片感受一下上图中,分别有背景色和前景色,这个设置起来很容易,有现成的API,直接setBackground和setForeground,我们来测试一下jProgressBar.setBackground(newColor(209,206,200));//背景色jProgressBar.setForeground(newColor(172,168,163));//前景色(...

    不忘初心 不忘初心 2017-11-17 围观(1233) 评论(0) 点赞(21) JAVA开发

  • 【原】JComboBox的第二次优化图文教程

    JAVA开发JComboBox的第二次优化图文教程

    上次优化的时候,遗漏了一个点,在下拉项很多的时候,那个很丑的原生滚动条又蹦出来作妖了,当时写教程的时候,只放了三个下拉项,没有呈现出来这个问题。真的是丑炸天,问题知道了,那就来看一下,其实也很简单,之前也有讲过JScrollPane的优化,这个其实就是一个JScrollPane,我们将之前优化的UI给他套进去就行了。这个下拉框的专业术语叫“popup”,在JCombobox的优化教程中有提到,当时写了一个MyComboBoxUI类,为了将它的边框颜色统一起来,我们写了这样一段代码@OverrideprotectedComboPopupcreateP...

    不忘初心 不忘初心 2017-11-15 围观(1560) 评论(0) 点赞(23) JAVA开发

    阅读更多
共4页 1 2 3 4

站点信息

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