java
文章平均质量分 64
月光轩辕-
Keep moving
展开
-
StreamTokenizer读不到TT_EOL
pre在刷题的时候发现有些大神用StreamTokenizer来减少数据读入时间,经过尝试,在读入数据多的情况下,这部分节省出来的时间是比较明显的。但是在尝试反转句子[^题目]的时候,我需要处理换行符的问题,我发现EOL标识一直读不到,最终在stackoverflow上找到了答案,我在这里把经验分享给大家。问题简述代码如下:public static void main(S...原创 2018-08-31 20:38:14 · 758 阅读 · 0 评论 -
IDEA十大快捷键
现在已经基本确定从eclipse(&&MyEclipse)阵营转换到IDEA阵营了,在IDEA下有一些快捷键和原来的Eclipse环境下存在很大区别,并且它自身提供了很多额外的有用快捷键。本来只是准备找个基于文件名搜索的快捷键,但是偶然找到了cdai大神关于IDEA快捷键的整理,这博客必须转载学习下。。转自http://blog.csdn.net/dc_726/article/detail转载 2015-10-22 11:42:22 · 2744 阅读 · 0 评论 -
BiMap
转自http://vipcowrie.iteye.com/blog/1521092BiMap BiMap是一个有用的集合类型,很简单,它就是一个双向的映射。 反向转换一个Map 一个普通的map是一个key/value的集合,你可以使用key来查询 value,例如,我来创建一个字段: Java代码 Map britishToA转载 2015-08-15 14:54:18 · 3236 阅读 · 0 评论 -
实现JDialog透明背景
回答来自stackoverflow :http://stackoverflow.com/questions/4631021/how-to-set-transparent-background-of-jdialog问题:Hy,..how can i set the background transparent and "remove" the clos转载 2015-07-18 16:13:31 · 4423 阅读 · 1 评论 -
swing基础和事件响应
转自http://zxc8899.iteye.com/blog/1556094一、swing基础 1、平台无关性,无需依赖平台 容器:代表管理,可以添加组件 组件:代表功能 2、类层次结构 java.awt.Component java.awt.Container java.awt.Window javax.swin转载 2015-07-18 13:47:40 · 1525 阅读 · 0 评论 -
windows使用jad反编译jar
jad 是一个java 反编译的小程序,实现不算复杂,可以方便把.class 文件转化成源码文件但是jad 存在一个弊端就是无法编译整个jar这里我采用了windows 的批处理命令 来解决这个问题材料准备- jad- 一个测试的jar- windows 环境将jar用压缩工具解压到需要的一个工作目录,要求路径中不包含空格和中文等原创 2015-07-28 15:56:08 · 3120 阅读 · 2 评论 -
SimpleDateFormat 源码解析
今天一个朋友突然说起了字符串解析的时候,如果字符串超出的时候 时间会出现变动的情况我觉得这个问题很有意思 就开始查看源码,这篇博客的主题内容将围绕这个展开,接下来讲干货。当我们在解析时间的时候 往往会采用下面的格式import java.text.DateFormat;import java.text.SimpleDateFormat;import java.util.原创 2015-07-02 15:53:32 · 3264 阅读 · 0 评论 -
Java应用类的包名为什么不能以java.开头?
转自 http://blog.csdn.net/zhangzeyuaaa/article/details/42531135我们自己编写的Java类默认情况下都由系统类加载器加载。系统类加载器也是ClassLoader的子类,也是通过调用ClassLoader.loadClass(name)方法来加载类,而扩展ClassLoader类的一般做法就是重写findClass(name)方法,然后转载 2015-05-25 15:40:43 · 1710 阅读 · 0 评论 -
HashMap,TreeMap与LinkedHashMap的实例
今天上午面试的时候 问到了Java,Map相关的事情,我记错了HashMap和TreeMap相关的内容,回来赶紧尝试了几个demo理解下package Map;import java.util.*;public class HashMaps { public static void main(String[] args) { Map map = new HashMap();原创 2015-05-23 13:22:28 · 929 阅读 · 0 评论 -
IntelliJ IDEA 显示中文字符
最近开始换Intellij 最开始就遇到了字符集的问题,找了半天菜单栏没有找到MyEclipse中对应的菜单,后来还是在网上找到了解决方案,这里的settings 菜单栏上没有直接点右上角的搜索settings 点击action分栏中的第一项就是了出处 http://blog.csdn.net/herbert5069/article/details/12782977转载 2015-05-18 20:57:22 · 4603 阅读 · 0 评论 -
java中string 的split函数
之前没有在split函数 只是单纯用了split(regex) 的方法做字符串今天遇到个人问 为什么这个方法会导致最后的空字符串消失,我一时回答不上了 就去翻看了下1.7JDK文档在文档中我找到这样的描述split(regex) 函数是 调用split(regex,limit) 来实现的, limit 的默认值为0,匹配完之后尾部的空字符串会自动删除原创 2015-06-19 15:27:08 · 1010 阅读 · 0 评论 -
hadoop入门笔记[一]
前言: hadoop是我很久之前就准备开始学习的内容,最近正好有个这样的技能比赛,于是我和朋友组了队参赛,边学习边实践,和我往常的风格一样,这个系列的博客不会以教程的方式呈现,这个教程主要是记录我在实践过程中遇到的坑与解决方案,也就是我需要读者有一定的实践经验,如果遇到了类似的问题,我希望我的博客能给这些朋友一些启发。##搭建hadoop环境前期准备- linux (我选择了u原创 2015-11-07 14:00:01 · 583 阅读 · 0 评论 -
codeblocks使用cppcheck检查代码
cppcheck是一个静态代码检查工具,能够根据代码分析一些可行的优化方向,但是并不是完全准确,不是完全准确,不是完全准确,重要的事情所以需要说三次。cppcheck是一个可以单独使用的工具,存在图形化界面和命令行两种使用方式。这里主要讲code blocks使用cppcheck 插件的方法。code blocks 插件里是有cppcheck的 但是不能使用,需要我们手动下载原创 2015-09-23 17:23:20 · 5815 阅读 · 0 评论 -
ZipEntry.isDirectory()判断错误
pre在写一段涉及文件解压代码的时候遇到了ZipEntry.isDirectory()判断错误,导致解压代码把空文件夹当做文件处理的问题。 jdk: 1.8.0_144问题代码if (entry.isDirectory()) { new File(destDir + entry.getName()).mkdirs(); continue;}问题分析通过分析JDK源码可以确认问题愿意,原创 2018-05-03 16:09:50 · 3850 阅读 · 2 评论 -
JDBC preparedStatement executeBatch 效率低
问题目前在优化一份代码,通过日志定位,发现程序的主要的时间花费在excuteBatch语句上。问题代码PreparedStatement ps = tempbaseCon.prepareStatement(sql);while (rs.next()) { //读取数据 for (int i = 2; i <= columnCount; i++) { ...原创 2018-04-24 18:03:58 · 2983 阅读 · 0 评论 -
java实现代理服务器
前束本篇博客没有给出一个完善的技术解决方案,使用java搭建代理服务器是处理本人想要实现主备切换的broker而产生的想法,由于能力,时间和精力的限制,目前只能将想法的大致内容实践一下,这里只是分享一些这两天在这上面做出的一些探索,以免其他人重蹈覆辙。简述需求简述为通过JAVA实现一个代理服务器,客户端的Http请求全部指向代理服务器,代理服务器基于一定的策略将请求转发给后台服务器,(这里的策略就比原创 2017-03-14 01:23:36 · 12005 阅读 · 0 评论 -
poi向已经打开的excel文件写数据导致文件被清空
概述最近在做项目的时候遇到了使用Java调用POI读写Excel的问题,再向一个已经打开的文件写入修改好的数据的时候,源文件被复写为空文件。这个问题涉及到POI读写文件的原理,故在此记录一下,以备日后回顾。问题程序 //读数据表 Workbook wb = WorkbookFactory.create(new File(sourcePath));原创 2017-02-22 15:11:45 · 2520 阅读 · 0 评论 -
e.printStackTrace()与System.out输出顺序混乱
问题描述在系统输出的时候发现System.out与e.printStackTrace()的顺序混乱。会出现下面的情况。com.jdbc.exceptions.xxxxx: message //output by e.printStackTrace()hahahahaha //output by system.out at method1(position) //output by原创 2016-12-08 00:21:47 · 1731 阅读 · 0 评论 -
JAVA去除ASCLL码为160的空格
问题描述读入一串字符串,输出的时候出现’?’字符。通过Debug模式检查字符串,发现字符串中该位置的ASCLL值为160测试程序String input = "12121·121";input += (char)160+"";input = input.replaceAll("\\s+", " ");input = input.trim();System.out.println(Arrays原创 2016-10-10 17:39:17 · 5655 阅读 · 1 评论 -
Base64编码出现换行符
概述Base64是一种字符串编码格式,Base64采用A-Z a-z 0-9 “+“ “/“这一共64个字符来编码原始字符(还有垫字符“=“)。一个字符本身是1个字节,也就是8位,而Base64编码后的一个字符只能表示能表示6位的信息。也就是原始字符串中3字节的信息编码会变成4字节的信息。Base64的主要作用是满足MIME传输需求,在传输过程中都是用ASCII支持的可见字符。Base64是基于字原创 2016-09-19 23:27:10 · 38491 阅读 · 2 评论 -
Java读写二进制文件到String,再写入二进制文件
概述java读写文件的有很多种方式,基本都是采用java.io的inputStream和各种基于inputstream的封装实现对文件的读写,最原始的接口提供的便是基于byte的读写,而String可以看做是char[],一个char是8个byte。在最原始的ASCII编码中,我们采用一个字节 也就时8位来表示一个字符(图形字符或者控制字符),而后来1个字节不足以表示现实中的所有字符,于是出现了各种原创 2016-09-18 19:36:02 · 15358 阅读 · 0 评论 -
eclipse插件开发获取Eclipse相关的文件根目录
最近在写一个eclipse插件,存储文件的时候就需要用到相关的文件路径,由于eclipse本身是一个跨操作系统的应用,所以我们不可以无脑的写c://path 之类的路径,最后还是使用相对eclipse路径的比较好,这样做的好处主要是以下三点1统一管理//避免我们需要通过操作系统 以及用户习惯来制定相应的文件目录2可以跨平台3会规避掉一些读写权限的问题。//eclipse拥有works转载 2016-04-18 16:58:34 · 3345 阅读 · 3 评论 -
配置MyEclipse Maven环境
虽然我的大部分项目已经迁到Idea上去了,但是在写部分小的测试程序的时候还是习惯性的会点开MyEclipse。之前使用第三方库的时候 我会习惯的下载jar包,然后build path导入,但是在idea中貌似通过配置maven依赖更方便,于是我在MyEclipse中也想使用pom.xml来导入依赖,在尝试的过程中遇到了些问题,我这里是记录解决这些问题的方法。环境Myeclipse原创 2015-11-17 11:27:49 · 639 阅读 · 0 评论 -
线程中start方法与run方法的区别-java教程
线程中start方法与run方法的区别-java教程在线程中,如果start方法依次调用run方法,为什么我们会选择去调用start方法?或者在java线程中调用start方法与run方法的区别在哪里? 这两个问题是两个非常流行的初学者级别的多线程面试问题。当一个Java程序员开始学习线程的时候,他们首先会学着去继承Thread类,重载run方法或者实现Runnable接口,实现ru翻译 2015-06-18 12:24:15 · 7357 阅读 · 3 评论 -
分解和合并:Java 也擅长轻松的并行编程! 作者:Julien Ponge
文中的程序我也测试过了, 注意下面的红字部分,在测试的时候我们需要保护测试环境尽可能等价,要么 分成2次测试 一次输出串行的时间 一次输出并行的时间,如果想在一个方法中比较,那么两者的先后顺序就会对结果有所影响,在我的尝试下 先生成Date 对象 以及先进性一遍并行遍历 会比较有效,内部的原理暂时不清楚,应该和JVM的内存管理有关 public static void main(St转载 2015-06-17 18:43:48 · 1226 阅读 · 0 评论 -
HashMAp(转)
重点介绍HashMap。首先介绍一下什么是Map。在数组中我们是通过数组下标来对其内容索引的,而在Map中我们通过对象来对对象进行索引,用来索引的对象叫做key,其对应的对象叫做value。在下文中会有例子具体说明。 再来看看HashMap和TreeMap有什么区别。HashMap通过hashcode对其内容进行快速查找,而TreeMap中所有的元素都保持着某种固定的顺序,如果你需要得到一个原创 2015-01-16 10:44:56 · 353 阅读 · 0 评论 -
设置图片透明度
@Override public void paint(Graphics g){ try { Image bgimage = ImageIO.read(new File("src/image/bgimage.png")); } catch (IOException e) { e.printStackTrace原创 2015-01-16 10:44:48 · 563 阅读 · 0 评论 -
java 泛型理解(博客链接)
主要是关于JDK 1.5版本的泛型 直接放链接http://blog.csdn.net/turkeyzhou/article/details/2888774转载 2015-01-16 10:47:24 · 558 阅读 · 0 评论 -
java 环境变量配置
自动安装了jdk 是 会在系统盘的 program file 里面生成java 文件夹 下面有 jdk 和jre2个文件配置环境变量java_home C:\Program Files\Java\jdk1.7.0_51注意 结尾没有 分号classpath.;%JAVA_HOME%\lib;前面有一个 点+分号path%JAVA_HOME%\bin;配原创 2015-01-16 10:45:34 · 399 阅读 · 0 评论 -
java回调
Java回调机制解析分类: J2SE2013-08-2818:08 444人阅读 评论(4) 收藏 举报模块之间总是存在这一定的接口,从调用方式上看,可以分为三类:同步调用、回调和异步调用。同步调用是一种阻塞式调用,也是我们在写程序中经常使用的;回调是一种双向的调用模式,也就是说,被调用的接口被调用时也会调用对方的接口,这句话可能有点绕,等文章后面举例说明;异步调用是一种类似消息或转载 2015-01-16 10:47:45 · 573 阅读 · 0 评论 -
来回反弹的进度条(转)
package frame;import java.awt.Dialog;import java.awt.Frame;import java.awt.Window;import java.awt.event.ActionEvent;import java.awt.event.ActionListener;import java.awt.event.ComponentAdapter;原创 2015-01-16 10:44:51 · 505 阅读 · 0 评论 -
java String.format
http://soft.chinabyte.com/database/182/12171182.shtml转载 2015-01-16 10:47:43 · 536 阅读 · 0 评论 -
java中HashMap详解 (转)
HashMap 和 HashSet 是 Java Collection Framework的两个重要成员,其中 HashMap 是 Map 接口的常用实现类,HashSet 是 Set 接口的常用实现类。虽然 HashMap和 HashSet 实现的接口规范不同,但它们底层的 Hash 存储机制完全一样,甚至 HashSet 本身就采用 HashMap来实现的。 通过 HashMap、原创 2015-01-16 10:44:53 · 366 阅读 · 0 评论 -
java里关于interface的概念
之前一直听人提着接口的概念,我一直感觉模模糊糊的,现在我在网上查了查,主要参考了度娘上一个关于接口解释的网友回答,我得到了如下理解。java里面有继承和接口的概念。继承是通过extends 关键词 让一个子类继承父类中的对象和方法。继承让我们在编写代码的时候拥有很多便利,我们可以不用花费大量的时间在编写重复的代码上。如果我们找到了2个或者2个以上的类拥有较大的相同的代码段的时候,我们可以写一原创 2015-01-16 10:44:01 · 523 阅读 · 0 评论 -
java原子操作与并发
原子操作是JVM单位能处理的指令,在汇编中比如ADD操作 ,J跳转操作等。我们的常用语句基本上都不是原子指令比如,A=A+1,这样的指令分两步,1A+1 2 赋值这样的操作过程如果不注意,会在并发中引起巨大的问题。下面是来自http://88250.b3log.org/java-atomic-conncurrent 转载的博文,虽然故事简单,但是希望给大家提个醒Java转载 2015-01-29 22:26:27 · 811 阅读 · 0 评论 -
java GeneralPath 的使用
Java标准教程:Java 2D绘图--第3章基本几何图形 2009-10-08 21:33:18| 分类: Java教程|举报|字号 订阅在之前的课程中,您已经学习了绘图的基本概念,包括坐标系和graphic对象创建的基本信息。现在,您将了解2D 绘图类的更详细的信息。本科展示如何使用Graphics2D类绘制基本的几何图形和任意的形状,以及如何使用花哨的轮廓和填充原创 2015-01-16 10:45:22 · 12077 阅读 · 2 评论 -
java面试题整理(-)
最近可以能要开始准备实习了,现在我要把java的基本概念梳理一下,这里主要是按照网上的一些demo然后根据他们给出的题目给出自己认为合理的回答每份文件中会给出参考博客的链接参考了http://blog.csdn.net/sgx425021234/article/details/87860171、 面向对象的特征有哪些方面抽象 封装 继承 多态等抽象:是对复杂对象原创 2015-03-22 14:55:09 · 465 阅读 · 0 评论 -
三分钟理解Java中字符串(String)的存储和赋值原理
这篇文章中后段主要介绍了jVM的内存管理的概念,还是比较简明扼要的String之类的内置类型在普通的常量赋值的时候,值是被存在常量池中,如果采用new等方法,String之类的变量将会被封装器包装作为普通的对象出现,而由于封装器中对象值都是被final修饰的,String等对象的值是不可变的,只能新生成对象转义引用。以上是我的理解,其余内容看这位大神的说法吧转自转载 2015-05-21 19:25:00 · 660 阅读 · 0 评论 -
java面试题整理(五)
参考原址http://blog.csdn.net/sgx425021234/article/details/88390051、 &和&&的区别。 &是位运算符,表示按位与运算,&&是逻辑运算符,表示逻辑与(and)。 在算数运算的时候需要多考虑位运算,这能节省很多时间,最为典型的就是计算能被n整除的最大2的倍数, n & (-n) 2、原创 2015-05-15 20:01:03 · 457 阅读 · 0 评论 -
java面试题整理(四)
参考链接http://blog.csdn.net/sgx425021234/article/details/87946141、设计4个线程,其中两个线程每次对j增加1,另外两个线程对j每次减少1。写出程序。这里使用信号量 semaphore 来实现加锁 程序实现的是j中至多只能大于等于0 小于等于1, 这类问题是在操作系统中经典的同步问题import java.uti原创 2015-05-04 20:53:49 · 475 阅读 · 0 评论