分类目录归档:JAVA

关于java的那些事儿

java UUID系统底层的不重复随机序列

java居然有这么个好用的简单的函数来生成永远不重复的一串字符。 package com.javaer.examples2; public class JavaUUID { /** * @param args */ public static void main(String[] args) { String uuid = java.util.UUID.randomUUID().toString(); System.out.println(uuid); uuid = uuid.replace("-",""); System.out.println(uuid); } } UUID(Universally Unique Identifier)全局唯一标识符,是指在一台机器上生成的数字,它保证对在同一时空中的所有机器都是唯一的.按照开放软件基金会(OSF)制定的标准计算,用到了以太网卡地址,纳秒级时间,芯片ID码和许多可能的数字.由以下几部分的组合:当前日期和时间(UUID的第一个部分与时间有关,如果你在生成一个UUID之后,过几秒又生成一个UUID,则第一个部分不同,其余相同),时钟序列,全局唯一的IEEE机器识别号(如果有网卡,从网卡获得,没有网卡以其他方式获得),UUID的唯一缺陷在于生成的结果串会比较长.

发表在 JAVA | 标签为 , , | 留下评论

慢慢读,java断点续传多线程下载

java下载断点续传简单而言就是记录上次下载的位置,下次直接跳到这个位置开始下载就好了。 断点继续下载算法 package com.javaer.examples.file;     import java.io.DataOutputStream; import java.io.File; import java.io.FileOutputStream; import java.io.IOException; import java.math.BigDecimal; import java.net.HttpURLConnection; import java.net.URL; import java.net.URLConnection; import java.util.UUID; import java.util.concurrent.CountDownLatch; import java.util.concurrent.ExecutorService; import java.util.concurrent.Executors;   /** * * @author why * */ public class … 继续阅读

发表在 JAVA | 标签为 , , | 2 条评论

java多线程并行下载文件

多线程并行下载的核心特点就是分段,并行下载。 比如一个文件200M,分5个线程,那么就给砍成5份,分别同时下就好了。速度当然比一点点下载来的要快的多。 package com.javaer.examples.file;   import java.io.File; import java.io.FileWriter; import java.io.IOException; import java.io.InputStream; import java.io.RandomAccessFile; import java.net.HttpURLConnection; import java.net.MalformedURLException; import java.net.URL; import java.net.URLConnection;   public class MyMutilDown { /** * 单线程的远程下载 */ public void SingleDown(String filePath, String url) { try … 继续阅读

发表在 JAVA | 标签为 , , | 留下评论

看了不后悔,学习编程的八个建议

学习编程 1.读1000行代码,不如写一行代码 就如游泳一样,你看1万次别人游泳,自己不下水,还是不会。很多代码是看的时候看懂了。自己丢到一边,然后照别人思路写,都不一定能写出来。如果你是在学习编程那么请多写代码。 2.把基础搞扎实。 这一点php程序员感觉都还好。因为php简洁,没那么多花花绕。java就不同了,不少学校都在教学什么spring 三大架构。结果学生连for循环还没搞明白呢。架构始终是别人的,基础才是自己的。内功深厚了。什么架构都是小菜一碟。 3.做自己的小项目。找准目标,学得快。 人的确有惰性,而且经常容易失去目标。对于编程人员来说,树立目标最简单的办法便是模仿别人的程序。比如看到一个博客程序,我自己来写一个。我说的模仿不是去模仿别人的代码,而是根据别人的界面功能,来确定自己项目的需求。 4.多做题目。 如果感觉项目还不够做,那么可以去CSDN,ITEYE等编程网站,回答别人的提问。论坛人需要帮助的人很多。助人助己。 5.翻阅经典代码。 经典的程序代码都值得阅读。看多了。自己的代码水平就有所提高。看什么,看别人的代码结构,看别人注释的方法,看别人的思路。看完极可能的应用到自己的项目里去。 6.努力。 任何行业都离不开努力。我刚毕业的时候,规定不管多累,每天晚上自己学习一章.net编程。过了半年感觉突飞猛进。倒是现在反而有点懒惰了。 7.分享成功 定期分享自己的技术成果,有利于交朋友,巩固自己的知识。利人利己。有不少知识分享完毕,大家讨论讨论,对自己还是很有巩固作用的哈。 8.注意身体。 这个行当,整天坐着,刚开始2,3年还好。一般工作4年以上,都会得点脊椎病。适当运动提早预防。 以上为月小升个人的一些看法。如果能对学习编程的朋友们能有一点点帮助,那么就足够了。写出来,也发现了我自己的懒惰。

发表在 JAVA, PHP, 日常随笔 | 标签为 , | 留下评论

java得出两个日期之间所有日期

近日老要跑系统日志,每次发生问题要遍历每日的情况。代码改了好几次,每次输入的日期变化,都要修改不少代码。于是写了个日期类来调用。 包含以下功能 1.判断是否为闰年 2.判断一个月有几天 3.得出两个日期直接所有日期 package com.javaer.common;   import java.text.ParseException; import java.text.SimpleDateFormat; import java.util.ArrayList; import java.util.Date;   /** * java时间类 * * @author mc2 * */ public class JTime { static String dateFormat = "yyyy-MM-dd"; static SimpleDateFormat format = new … 继续阅读

发表在 JAVA | 标签为 , , | 留下评论

awt swing编程java窗体加超级链接

上次编写的俄罗斯方块,为了给它加一个超级链接,发现java居然如此的笨笨。不过方法还是有的。基础思想为调用桌面。启动浏览器,之前看过这个启动的办法,当时看了觉得java这个方法没什么用处,现在发现,设计了这个办法,就有他的用处。 package com.javaer.examples.awt;   import java.awt.Color; import java.awt.Cursor; import java.awt.Desktop; import java.awt.FlowLayout; import java.awt.Graphics; import java.awt.event.MouseAdapter; import java.awt.event.MouseEvent; import java.io.IOException; import java.net.URI;   import javax.swing.JFrame; import javax.swing.JLabel;   public class FrameLink extends JLabel { private String _url; private String _text; … 继续阅读

发表在 JAVA | 标签为 , , | 留下评论

java编写浏览器

以前采用vb的webbrowser插件可以开发一个简单的浏览器,没想到java也具备这个功能。不过开发出来的看起来比较傻。看来不是java应该做的事情。或许是java还需要编写更多的代码来解析css和js package com.javaer.examples.awt;   import java.awt.BorderLayout; import java.awt.Color; import java.awt.Container; import java.io.IOException;   import javax.swing.JEditorPane; import javax.swing.JFrame; import javax.swing.JScrollPane; import javax.swing.event.HyperlinkEvent; import javax.swing.event.HyperlinkListener; import javax.swing.text.html.HTMLDocument; import javax.swing.text.html.HTMLFrameHyperlinkEvent;   public class WebView extends JFrame implements HyperlinkListener{ public WebView() throws Exception { … 继续阅读

发表在 JAVA | 标签为 , | 留下评论

俄罗斯方块设计原理

俄罗斯方块旋转算法??俄罗斯方块设计原理??俄罗斯方块java版下载 上次发布了个俄罗斯方块java小游戏,今天来说一下原理,方便大家交流 俄罗斯方块技术点分析 元素设计 1.方块 2.地图 3.方块旋转 4.方块固定 5.消行计分 6 加速 1.关于方块 方块的几种类型,可以描述为4*4的一个数组。然后分别用0,1表示。比如长条为 1 0 0 0 1 0 0 0 1 0 0 0 1 0 0 0 四方形的为 1100 1100 0000 0000 绘图的时候,可以根据数组的位置,来绘画方块 2.地图 地图为了容纳方块设计砖头格子。横向为10个格子。竖向为20个(也可以30个) 然后画个边 格子默认数组10*20 。全部为0.如果有方块已经落上,那么变为1 … 继续阅读

发表在 JAVA | 标签为 | 留下评论

java公共变量迷局-变量为何改变

java变量迷局 java申请变量需要重新开辟内存,增加程序开销,所以我们会看到某些程序里,将一些小变量,声明为全局变量,比如i用来for循环 如果全局变量被一个函数赋值,那么就会立即改变。 package com.javaer.examples;   public class TestVariable { int i,j; public void A1(){ for( i = 0 ; i < 10;i++){ System.out.println("A" + i); B1(); } } public void B1(){ for( i = 0 ; i < 10;i++){ … 继续阅读

发表在 JAVA | 标签为 | 留下评论

俄罗斯方块java版

俄罗斯方块旋转算法? 俄罗斯方块设计原理? 俄罗斯方块java版下载 软件名称:俄罗斯方块月小升java版本 开发者:月小升 时间:2012-12-8 版本:1.0 简介:本软件采用java编码,兼容windows,linux,mac多种系统。作为一款经典的游戏,我从小就玩俄罗斯方块的掌声游戏机,今日终于自己了解其中算法,做了一个。欢迎大家试玩。 功能: 1.支持5种基本方块 2.支持旋转 3.支持奖励计分。消行1行 100分 2行300分 3行700分 4行1000份 4.支持预览功能,可以看到下一个方块的形态 未来功能: 1.可以暂停 2.增加背景图片 3.增加一万分加速,难度加大 下载地址 华为网盘 http://dl.vmall.com/c0x2miqva2?不用登陆点击即可

发表在 JAVA, 月小升软件 | 标签为 | 2 条评论