java基础
没有梦想-何必远方
这个作者很懒,什么都没留下…
展开
-
java简易记事本
//包含功能:新建,打开,保存,复制,粘贴,查找,替换,版权信息等原创 2014-03-07 15:22:55 · 2449 阅读 · 2 评论 -
利用java反射将map值封装到对象中
有时候我们需要将map里面的值依据键依次封装到对象里面。 这时需要简单的用下反射。 例子如下:public void newLoadFromMap(Map<?,?> map) throws IllegalArgumentException, IllegalAccessException{ try { Field[] fields = this.getClass()原创 2016-07-28 14:56:30 · 5673 阅读 · 0 评论 -
spring中使用多线程
我们知道创建多线程有两种方式。 1⃣️实现runnable接口 2⃣️继承thread类 但执行多线程前必须要实例化对象,然后调用start方法才能执行。我们知道spring通过ioc创建实例,对象被动注入到你需要使用的类中,而且,spring创建对象默认是单例的。那么该如何操作呢?方法很简单: 1⃣️首先我们需要创建自己的线程类,也就是你要并发执行的任务: 就像下面这样:@Compone原创 2016-07-21 00:06:20 · 4704 阅读 · 0 评论 -
Mac下eclipse安装svn插件
在mac上安装svn真是费了老劲了,简直无语了。 终于装上了。分享一下方法~ 希望对后面用到的朋友有些帮助~原创 2016-08-24 23:17:44 · 4761 阅读 · 0 评论 -
消息队列kafka java API, 新版旧版消费代码
一、kafka / zookeeper环境配置(mac下可以使用以下进行配置)安装zookeeper :brew install zookeeper启动zookeeper:zkServer start 安装kafka:brew install kafka启动kafka服务:kafka-server-start /usr/local/etc/kafka/server.propert...原创 2016-12-09 17:21:40 · 6885 阅读 · 2 评论 -
项目发布docker后,请求获取不到参数
docker tomcat get 问题: post请求获取不到参数,get请求受传输字符限制,也获取不到参数、 解决方法: 修改tomcat server.xml 文件,通过shell脚本上传到docker容器,替换掉原来的文件 RUN rm /data/tomcat7/conf/server.xml ADD shell/server.xml /data/tomcat7/conf原创 2017-04-07 17:34:11 · 3625 阅读 · 1 评论 -
JVM性能调优(一)
JVM参数:实例 : -Xmx4g -Xms4g -Xmn512m -Xss1m -XX:PermSize=512m -XX:MaxPermSize=512m1 -Xmx – 堆初始值 2 -Xms – 堆最大可用值 3 -Xmn – 新生代大小 4 -Xss – 栈空间大小 5 -PermSize – 永久代初始值 6 -MaxPermSize – 永久代最大值 注意: ① java原创 2017-06-23 14:55:03 · 2444 阅读 · 0 评论 -
使用junit进行集成spring项目的单元测试
本文介绍下项目集成spring,如何使用junit进行单元测试。 我们知道spring的项目测试时可以手写一个main方法,用ClassPathXmlApplicationContext 或 FileSystemXmlApplicationContext读取配置文件,然后实例化bean进行测试,类似下面这样:ApplicationContext factory=new ClassPathXml原创 2017-08-24 14:51:30 · 2704 阅读 · 0 评论 -
使用junit进行多线程并发测试
没使用过junit的,请看上篇博客。 这篇讲一下如何使用junit进行多线程并发测试 ~ 实际上junit是不支持多线程的,你可以试试,在test方法里面new个 Thread ~ 会报错 ~ 那你会问我在这还扯什么犊子 ~ 我当然不是在这扯犊子了~~ 有插件 ~~ 对,有插件!<!-- 包依赖 --> <dependency> <groupId>junit</grou原创 2017-08-24 15:06:38 · 13371 阅读 · 0 评论 -
Java面试之路(一)Java基础部分
引言最近辞职,开始了一轮又一轮腥风血雨的面试,开个专栏,记录下面试中的各种疑难杂症问题,面试的公司有58企服、便利蜂,美团等,给大家分享下。专栏将分为几部分:java基础、数据库部分、分布式架构中间件部分、网络及算法部分。本篇来说下基础部分。博主刚毕业一年,加上大四一年外包经验,工作两年,本以为面试应该比较轻松,面了发现还是挺难的…… 可谓雄关漫道真如铁,而今迈步从头越,从头越,苍山如海,残阳如原创 2017-11-17 15:55:10 · 2498 阅读 · 1 评论 -
代理模式 - spring aop 抛砖
一、什么是代理模式 这里使用到编程中的一个思想:不要随意去修改别人已经写好的代码或者方法,如果需改修改,可以通过代理的方式来扩展该方 法。 举个例子来说明代理的作用:假设我们想邀请一位明星,那么并不是直接连接明星,而是联系明星的经纪人,来达到同样的目 的.明星就是一个目标对象,他只要负责活动中的节目,而其他琐碎的事情就交给他的代理人(经纪人)来解决.这就是代理思想原创 2017-12-21 12:14:27 · 2564 阅读 · 0 评论 -
关于i++ 和 ++i
public class Test_i { public static void main(String[] args) { int i = 0; System.out.println("运算前i为"+i+"执行"+ i++ +",此时i为"+i); System.out.println("运算前i为"+i+"执行"+ ++i +",此时i为"原创 2016-02-19 09:23:56 · 4015 阅读 · 2 评论 -
java中的日期处理总结
本篇总结一下jdk8之前的日期处理方式,jdk8中新的日期处理以后用到总结。原创 2015-12-19 16:28:52 · 1844 阅读 · 0 评论 -
java关键字 final 的深入使用
java中的final关键字:final可以修饰变量,被final修饰的变量被赋值之后,不能对它重新赋值final可以修饰方法,被final修饰的方法不能被重写final可以修饰类,被final修饰的类不能派生子类1)final修饰变量被final修饰的变量必须显式指定初始值,且只能在下面3个位置指定初始值:定义final实例变量时指定初始值在非静态代码块中为f转载 2014-03-30 09:22:43 · 1314 阅读 · 0 评论 -
filter验证登录失败后为什么没有自动跳转到登录页面?
刚学完filter过滤器,在使用的时候无法实现跳转,最后问题解决,总结如下:一、跳转语句:((HttpServletResponse)response).sendRedirect("../test/login.jsp"); 这里的路径要带文件名二、判断语句:例如我在写的时候,写的是 String a = String.valueOf(session.getAttribut原创 2014-03-20 22:02:54 · 2107 阅读 · 0 评论 -
使用filter过滤器实现用户登录验证
先写一个filter:package Easyui_Filter;import java.io.IOException;import javax.servlet.Filter;import javax.servlet.FilterChain;import javax.servlet.FilterConfig;import javax.servlet.ServletExceptio原创 2014-03-20 21:49:26 · 6374 阅读 · 2 评论 -
Tomcat配置数据库连接池
本例为myeclipse+tomcat7.0+sqlserver2008配置数据库原创 2014-05-11 09:21:16 · 1995 阅读 · 0 评论 -
java数据库连接池实现原理
一、为什么在连接数据库时要使用连接池 数据库连接是一种关键的有限的昂贵的资源,这一点在多用户的网页应用程序中体现得尤为突出。 一个数据库连接对象均对应一个物理数据库连接,每次操作都打开一个物理连接,使用完都关闭连接,这样造成系统的 性能低下。 数据库连接池的解决方案是在应用程序启动时建立足够的数据库连接,并讲这些连接组成一个连接池(简单说:在一个“池”里放了好多半成品的数据库联接对象),由应原创 2014-05-10 10:53:53 · 17839 阅读 · 9 评论 -
log4j的使用方法
这篇博客我们来简单介绍下如何在java中使用log4j自定义输出日志信息。原创 2015-09-11 19:17:59 · 1595 阅读 · 0 评论 -
java中如何使用任务调度
一、什么是任务调度?用于实现软件开发过程中需要定时执行或者重复周期执行的任务(方法|功能)。二、任务调度的实现方法数据库:使用触发器存储过程java: 1.JDK自带的 Timer计时器 | TimerTask任务对象 本篇博客详细说下这个方法 2 spring提供的quartz子框架 (请看下篇博客)原创 2015-09-11 16:31:13 · 1716 阅读 · 0 评论 -
利用javaMail发送邮件
这篇实现了简单的发送邮件。import java.util.Date;import java.util.Map;import java.util.Properties;import javax.mail.Address;import javax.mail.Authenticator;import javax.mail.Message;import javax.mail.PasswordA原创 2015-11-04 08:53:26 · 1971 阅读 · 0 评论 -
java缩放图片、java裁剪图片代码工具类
在系统的上传图片功能中,我们无法控制用户上传图片的大小,用户可能会上传大到几十M小到1k的的图片,一方面图片太大占据了太多的空间,另一方面,我们没办法在页面上显示统一大小的图片。所以我们需要对用户上传的图片进行缩放和裁剪,这里的缩放和平常的压缩不是一个意思,因为要实现小的图片会放大,大的图片会缩小,而且是等比例变的,图片不会显示挤压的效果。而这种操作java完全可以实现。下面分享下java缩放、裁剪原创 2015-11-19 16:09:10 · 6607 阅读 · 8 评论 -
java中double、float类型计算精度丢失问题
java中计算double、float类型数值,往往会出现计算精度丢失,也就是想下面这种情况: 这时,我我们使用BigDecimal类进行计算即可 这里注意一下,如果实例化a和b时,后面的参数单纯写一个double类型的数值还是不够的,减法计算还可能失去精度,最好的办法就是想图中一样转化成string的,这样就算就不会又问题了。如果还想保留两位小数,可使用如下方式格式化一下 先定义一个原创 2015-12-18 20:00:57 · 3100 阅读 · 1 评论 -
使用aop代理获取不到Annotation注解问题
问题场景:使用aop切面方法执行一些业务,过程中查看执行的方法是否有一个自定义的注解,有的话做其他的操作这里碰到了一个问题 ,执行的方法有注解,但是通过Annotation an = method.getAnnotation(UserChangeLog.class); 取值为null.具体情况和此篇文章类似:示例其实问题很简单,是代理对象和目标对象的问题,通过代理模式生成代理对象上的方法不会有注解原创 2017-12-19 14:29:54 · 11010 阅读 · 8 评论