
JAVA基础
夢_殤
心怀梦想且歌且行
展开
-
java使用谷歌的zxing包进行二维码生成并减少周边白色区域
网上找到一些使用zxing包生成二维码的例子,但是发现周边的白色区域有点大,想减少一点,有写说法是设置参数hints.put(EncodeHintType.MARGIN, margin); // 指定二维码四周白色区域大小,感觉没用,不生效,四周的白色区域仍然很大。想了想,既然生成二维码的时候周边白色区域过大,那把二维码对象转为BufferedImage对象的时候,减少一点长宽,不就好了,试了下,感觉还行,生成出来的二维码也能正常用,只是周边的白色区域需要减少多少,就没法定了,需要根据生成二维码图片的wid原创 2021-09-17 16:44:18 · 2252 阅读 · 0 评论 -
线程池异步发送邮件之MimeMessageHelper邮件发送支持自定义发送人/图片/附件/多个接收人/抄送人/暗送人
项目中要发送邮件,写个工具类,小项目,并发量不高,但是要求: 1.发件人是163邮箱或qq邮箱 2.支持多个接收人/抄送人/暗送人 3.支持正文中放图片 4.支持附件 5.线程池异步处理 6.发送异常时,调用开发员自定义的异常处理类 使用原生的java的mail.jar的API开发,需要自己调用组装很多API,MimeM...原创 2019-11-18 18:04:11 · 7675 阅读 · 1 评论 -
java获取项目路径中文乱码
xiang原创 2014-06-17 14:46:46 · 10768 阅读 · 1 评论 -
JAVA对字符串进行压缩编码
package com.fei;import java.io.ByteArrayInputStream;import java.io.ByteArrayOutputStream;import java.io.UnsupportedEncodingException;import java.util.zip.GZIPInputStream;import java.util.zip.GZI原创 2014-06-17 16:37:23 · 2573 阅读 · 0 评论 -
3种下载文件程序的思考,为何使用NIO进行异步网络通讯
来源:http://suhuanzheng7784877.iteye.com/blog/1122131转载 2014-05-13 00:08:23 · 928 阅读 · 0 评论 -
excel列字母数字表示互转
我们原创 2014-06-25 14:30:03 · 2308 阅读 · 0 评论 -
spring IoC 优点和缺点
IoC是什么?Inversion of Control,即反转控制,或许说为依赖注入更为合适。IoC就是IoC,不是什么技术,与GoF一样,是一种设计模式。 Interface Driven Design接口驱动,接口驱动有很多好处,可以提供不同灵活的子类实现,增加代码稳定和健壮性等等,但是接口一定是需要实现的,也就是如下语句迟早要执 行:AInterface a = new AInterfa转载 2014-05-11 14:49:37 · 3159 阅读 · 0 评论 -
JVM管理内存就像公司入职与裁员
来源:http://suhuanzheng7784877.iteye.com/blog/2026290转载 2014-05-12 22:41:46 · 753 阅读 · 0 评论 -
aspect学习(1)before&after&around
面向Aspect的编程,其实就是AOP,shuo'd原创 2014-05-11 13:04:43 · 4981 阅读 · 1 评论 -
java simpleXml序列化反序列化小例子
Customer.java原创 2014-06-18 09:50:29 · 2588 阅读 · 0 评论 -
JAVA之ArrayList迭代时对集合进行增改操作
HashMap,HashSet,ArrayList等集合是线程不安全的,为了解决此类集合不安全,JDK1.5的并发包java.util.concurrent提供了相应的线程安全的集合类ConcurrentHashMap、ConcurrentSkipListMap、ConcurrentSkipListSet、CopyOnWriteArrayList 和 CopyOnWriteArraySet。原创 2013-07-14 11:13:56 · 1726 阅读 · 0 评论 -
使用mybatis的ScriptRunner执行sql文件
最近有需要通过java执行sql文件(进行数据库、表的创建),使用的mybatis的ScriptRunner工具类,现在记录下。 pom.xml主要jar org.mybatis mybatis 3.3.0 mysql mysql-connector-java 5.1.36原创 2017-01-11 09:19:43 · 8804 阅读 · 2 评论 -
java调用shell脚本并传递参数
最近业务上需要java调用执行shell脚本进行一些业务处理,写了个demo,记录下。主要代码 @RequestMapping("/copy/database") @ResponseBody public String copyDatabase(HttpServletRequest request,String dbCode,String targetPath){ JSON原创 2017-01-09 15:03:38 · 30834 阅读 · 1 评论 -
java使用validator进行校验
不管是html页面表单提交的对象数据还是和第三方公司进行接口对接,都需要对接收到的数据进行校验(非空、长度、格式等等)。如果使用if一个个进行校验(字段非常多),这是让人崩溃的过程。幸好jdk或hibernate都提供了对object对象的校验,只需加上相应的注解即可。 本人喜欢学习时,都建立个maven小项目进行实践学习。pom.xml 4.0.0 com.f原创 2016-12-12 16:46:18 · 56202 阅读 · 2 评论 -
对文件进行base64编码成字符串进行保存或传输
现在微服务很流行,特别是restFull。如果数据格式是json或xml,发现涉及到文件传输时就不太好处理了。网上找到解决方法,就是将文件进行base64编码后再进行传输。当然建议文件不要太大。 参考了网上的解决方法,自己也测试了下,确实可行。下面代码来源:http://www.cnblogs.com/mailingfeng/archive/2012/01/09/2317100.转载 2016-12-12 15:06:44 · 16514 阅读 · 5 评论 -
java创建对象的4中方法
转载自http://blog.youkuaiyun.com/mhmyqn/article/details/7943411转载 2016-02-27 20:53:47 · 604 阅读 · 0 评论 -
Fork/Join框架
本文转载自http://www.iteye.com/topic/643724转载 2016-02-01 20:13:42 · 520 阅读 · 0 评论 -
EHcache学习之一模拟对象增删改查时缓存
EH原创 2014-06-20 22:26:19 · 5077 阅读 · 0 评论 -
java之JSON字符串和对象互转小例子
ajax请求数据,数据格式yi原创 2014-07-29 16:21:00 · 833 阅读 · 0 评论 -
aspect学习(2)target&thisJoinPoint
在上一篇wen原创 2014-05-11 14:16:49 · 2274 阅读 · 0 评论 -
反射的一点小应用
今天工作中遇到这样一种情况原创 2014-05-08 22:28:24 · 1173 阅读 · 0 评论 -
java枚举enum剖析
本文转载自:http://www.cnblogs.com/hemingwang0902/archive/2011/12/29/2306263.html enum 的全称为 enumeration, 是 JDK 1.5 中引入的新特性,存放在 java.lang 包中。下面是我在使用 enum 过程中的一些经验和总结,主要包括如下内容:1. 原始的接口定义常量2. 语法(转载 2013-07-05 23:06:14 · 667 阅读 · 0 评论 -
JVM内存区域管理
初步学习JVM,在网上找到许多资料,感觉有点凌乱,不方便自己以后回过头来重看,就把别人写得好的文章或书籍上写得好的章节,用自己的话描述一下。本文以下内容主要参考了《深入理解java虚拟机:JVM高级特性与最佳实践》一书以及《JVM详解》电子书。 运行时数据区域JVM执行Java程序的过程中,会使用到各种数据区域,这些区域有各自的用途、创建和销毁时间。根据《Java虚拟机规范(第二版)》转载 2013-04-05 22:17:12 · 952 阅读 · 0 评论 -
cglib动态代理
JDK的动态代理是基于接口的,委托类必须实现接口。但是如果委托类没实现任何接口呢?这时就需要使用cglib的动态代理了。看例子package cn.proxy;public class User { public void add(){ System.out.println("add user......"); } public void delete(){ S原创 2013-04-28 18:06:20 · 906 阅读 · 0 评论 -
JDK动态代理的一些认识
通过学习静态代理,知道如果接口增加了方法,那么委托类和代理类都必须实现,同时在代理类中还要对新增方法做处理,比如日志记录等,很繁琐。而JDK的动态代理就应运而生了,代理类不需要程序员手动预先写好,而是有Proxy类来帮你生成(运行期生成)。先直接看例子。package proxy;public interface SingInterface { public void sin原创 2013-04-26 21:01:29 · 929 阅读 · 0 评论 -
JAVA静态代理为什么用聚合用接口
学习静态代理时,网上找到了挺多例子,但是作为一个菜鸟的我,实在没能弄明白,为什么一定要弄个接口出来,委托类必须实现它,因为按照网上搜到的例子,实在看不多使用接口的必要性。于是看了马士兵老师的视频后,终于明白了,现在把马士兵老师对静态代理的讲解整理一下。 代理模式是常用的Java 设计模式, 它的特征是代理类与委托类有同样的接口。代理类主要负责为委托类预处理消息、过滤消息、把原创 2013-04-24 22:56:12 · 1690 阅读 · 0 评论 -
JAVA Integer的一点注意事项
用==比较2个Integer对象时,有些小细节需要注意的。Integer,Short,Long和String都是常量类,用final修饰class,声明时可以直接赋值,也可以new,他们之间有什么区别呢?关于String,可以看我的另一篇博文http://blog.youkuaiyun.com/dream_broken/article/details/8759616,在这就不多说了。下面就拿Integer说说原创 2013-04-10 21:02:57 · 1119 阅读 · 0 评论 -
JAVA 对象克隆clone
有时候我们希望克隆一个已存在的对象,并对其进行操作,但是不希望改变原对象,这时使用clone技术就非常方便了。但是使用clone,也有一些需要注意的地方,因为clone有浅层克隆和深层克隆。还是习惯先直接上代码,结合代码讲解。 注:如果你希望某个类具有clone功能,该类必须实现接口Cloneable,它是一个标识接口,告诉JVM,这个类具有clone权利。 为了方原创 2013-04-07 16:51:44 · 690 阅读 · 0 评论 -
filter对页面内容敏感词进行替换处理
平时我们做网页时,不希望页面显示一些非法内容或敏感词语,一般的做法是数据保存到数据库前先做处理或者从数据库中拿出来后再处理,然后输出到客户端(浏览器)。这种做法的局限性是,工作量大,很多地方都需要进行处理。如果使用Filter来处理就很简单,很方便了。 做法:在Servlet将页面内容输出到response时,response将内容缓存起来,然后在Filter中处理,在输出到客户端。原创 2013-04-06 20:36:10 · 2603 阅读 · 0 评论 -
JAVA反射--一些常用方法
反射中,最基础的是对Class类的了解和使用。在JAVA中Object是一切类的父类,而getClass()方法是Object中定义的,如下public final native Class getClass(); 那么可以这么说,所有类的对象实际上都是Class类的实例。如果你对类加载及JVM方法区有所了解,这个应该很容易理解。 本文主要是写点代码认识Clas原创 2013-04-21 17:48:30 · 1396 阅读 · 0 评论 -
JAVA类初始化及实例初始化时内部的执行顺序
记得刚毕业时,应聘JAVA开发岗位,做招聘单位的笔试时,经常有JAVA类内部的执行顺序的考察,就是让你写出某个程序的打印结果的顺序,现在整理一下。 如果一个类,有构造器,普通块,静态块,那该类初始化时,它的执行顺序如何呢?如果它有父类,并且它的父类也有构造器,普通块,静态块呢?直接写个小程序,测一下,就一目了然。public class A { public A(){原创 2013-04-05 11:09:24 · 2256 阅读 · 0 评论 -
JAVA关于变量的存储位置举例验证
初步学习JVM,对JVM的内存管理了解了一点点皮毛之后,发现对变量的存储位置有了点迷茫,通过网上搜索,及自己写点代码验证,有了一点认识,现在整理一下。 变量分类: calss variable:类变量,也称静态变量,声明在类内部,方法之外,且有static修饰 instance variable:实例变量,生命在类内部,方法之外,未有static修原创 2013-04-20 21:46:15 · 1424 阅读 · 0 评论 -
JAVA String的那点趣事
接触JAVA已有2年多了,工作也1年了,本以为自己对JAVA的一些常用知识已经够了解了,但是一个高手(他的博客地址http://blog.youkuaiyun.com/xieyuooo,有空的话,可以去看看他的技术文章)在技术群里甩了几道关于String的题目,说大家可以做着玩玩,看看自己对String了解多少,不许猜答案,每道题都要说出理由。咋看之下,我懵了,发现自己原来对String的理解,只是点皮毛,下原创 2013-04-04 22:32:30 · 1063 阅读 · 0 评论 -
JAVA反射突破泛型的约束
JDK1.5增加泛型之后,集合操作也应用了泛型约束,比如ArrayList,则该对象放进去的内容对象都是String类型的,这是将同一类对象放在一起。如果再放其他类型的对象进去,编译器就报错了。如下例子。import java.lang.reflect.Method;import java.util.ArrayList;import java.util.List;public cl原创 2013-07-09 16:04:45 · 1122 阅读 · 0 评论 -
谈谈hashCode&equals&HashMap
在JAVA中Object是一切类的基类,如果你查看Object类源码,会发现里面有hashCode()和equals()方法,那么一切的类自然也会拥有hashCode()和equals()方法。下面看看Object中hashCode()和equals()方法是如何定于的。 Object中的hashCode()和equals()定义 /** * As原创 2013-07-08 11:35:56 · 996 阅读 · 0 评论 -
HttpInvokerProxyFactoryBean一个简单例子
初步接触httpinvoker.HttpInvokerProxyFactoryBean,弄了个简单的小例子,记录一下。先来个项目文件层次图 服务器端包括:domain、service、dao、service-config.xml,使用web容器启动,比如tomcat、resin等。客户端包括:domain、service中的IxxxService(接口即可)、c原创 2013-06-02 15:38:08 · 6904 阅读 · 0 评论 -
HttpClient的简单使用
做项目的过程中遇到,需要从其它web系统(提供了对外接口)获取某些数据的情况,初步学习了下HttpClient的使用。在这记录一下。 apache官网下载commons-logging、commons-httpclient、commons-codec这几个包。 httpClient其实就是模拟浏览器向服务器端发送请求,然后接收服务器端返回的内容。原创 2013-05-08 17:04:00 · 1321 阅读 · 0 评论 -
JAVA之Socket编程初步学习
在Java中,有三种套接字类:java.net.Socket、java.net.ServerSocket和DatagramSocket。其中Socket和ServerSocket类建立在TCP协议基础上,DatagramSocket类建立在UDP协议基础上。 传输层向应用层提供了套接字Socket 接口,Socket 封装了下层的数据传输细节,应用层的程序通过Socket来建立原创 2013-05-12 18:12:08 · 815 阅读 · 0 评论 -
JAVA数组排序&list排序&map排序&中文排序
1.数组排序及list排序 在JAVA中对数组排序或list元素排序,JAVA提供了Arrays.sort()及Collections.sort(),使用者只要正确调用即可,不需要使用者自己写排序算法的实现。当然如果数据量大,并且要求效率高的话,还是需要自己选择适当排序算法的自己写代码实现。 打开Collections.sort()源原创 2013-05-05 14:02:58 · 2186 阅读 · 1 评论 -
JAVA常用的一些排序算法
一些常用的算法,包括冒泡排序,选择排序,插入排序,快速排序,归并排序,堆排序,希尔排序等。 在JAVA中一些基本的排序,其实JAVA都已经封装了,不需要JAVA程序员自己写实现过程。比如Arrays.sort()。但是在笔试时,一些笔试题就是让你写出一些排序的实现过程,不管工作中有没有必要。(工作一年了,搞JAVA web,没遇到过需要自己动手写排序实现过程的)。 1.冒泡排序原创 2013-05-04 14:57:17 · 792 阅读 · 0 评论