随笔分类 - Java
摘要:周日没怎么休息好,周一一天都迷迷糊糊的,不过还算是干了不少的活。 总结一下,大致有以下几点内容: 1 使用poi以及mysql jdbc实现了一个复杂excel的导入 2 基于工程原有的代码,书写spring mvc的业务代码以及测试用例 使用POI以及jdbc POI是用于处理excel文件很常用
阅读全文
摘要:Mybatis是轻量级的持久化框架,的确上手非常快. Mybatis大体上的思路就是由一个总的config文件配置全局的信息,比如mysql连接信息等。然后再mapper中指定查询的sql,以及参数和返回值。 在Service中直接调用这个mapper即可。 依赖的jar包 主要的mybatis配置
阅读全文
摘要:这两天看了一下Flume的开发文档,并且体验了下Flume的使用。 本文就从如下的几个方面讲述下我的使用心得: 初体验——与Logstash的对比 安装部署 启动教程 参数与实例分析 Flume初体验 Flume的配置是真繁琐,source,channel,sink的关系在配置文件里面交织在一起,没
阅读全文
摘要:这两天看了下hangout的代码,虽然没有运行体验过,但是也算是学习了一点皮毛。 架构浅谈 Hangout可以说是java版的Logstash,我是没有测试过性能,不过据说是kafka这边性能要高出Logstash5倍。不知道真的假的,不过看代码,确实要比Logstash高效一点。 关于input,
阅读全文
摘要:昨天通过几个小程序以及Hangout源码学习了CLI的基本使用,今天就来尝试翻译一下CLI的官方使用手册。 下面将会通过几个部分简单的介绍CLI在应用中的使用场景。 昨天已经联系过几个基本的命令行参数使用场景, "可以参考这里" 通过使用Apache Commons CLI可以帮助开发者快速构建命令
阅读全文
摘要:修改Mysql配置 Mysql配置地址为: 如果无法修改可以把my.ini拷贝出来,修改完后,再拷贝回去! 如果配置了Mysql的日志生成路径,但是该目录尚未创建,那么启动会报错! 关于Mysql日志 splunk内置了两种mysql的日志,分别是mysqld以及mysql_error mysqld
阅读全文
摘要:今天又看了下Hangout的源码,一般来说一个开源项目有好几种启动方式——比如可以从命令行启动,也可以从web端启动。今天就看看如何设计命令行启动... Apache Commons CLI Apache Commons CLI是开源的命令行解析工具,它可以帮助开发者快速构建启动命令,并且帮助你组织
阅读全文
摘要:注册工厂是一种很常用的框架书写方法,它适合于快速创建相同类型的对象。 举个栗子 比如一个家具工厂,有沙发、椅子、茶几等等,正常的编程模式是这样的: 如果想要扩展,就需要继续定义class,然后new对象。 但是其实沙发的制作与使用时解耦的,使用者并不需要知道沙发、茶几是怎么制作出来的,只是想使用它而
阅读全文
摘要:这两天想要做响应式的页面,于是本着重复造轮子的想法,模仿Bootstrap官网,精简了一个响应式导航的Demo。 效果 代码
阅读全文
摘要:最近再弄进程管理相关的工作,因此必要的就涉及到各种系统下关于进程的管理。 这里简单的介绍下: 如何在Java中执行命令 在windows下肯定是dos命令了,而在linux则为shell命令。执行的方式差不多相同: 方法1:Runtime 由此可以见,java程序都是相同的,只是命令不同而已。 获得
阅读全文
摘要:本篇仍旧是源于最近的工作,总结一下纪念那些年埋下的坑... 背景故事 需求:“使用进程方式启动另一个程序!” 开发:“OK! Runtime.getRuntime().exec("xxxx")” 需求:“启动以后能看到输出消息不!” 开发:“OK!” 于是,神坑挖好了! 遇到的问题 由于运行的程序比
阅读全文
摘要:集合框架可以说是Java里面必备的知识点了,日常的使用中也会遇到各种情况需要使用到集合。下面就简单介绍下各种集合的使用场景: List List可以看做是数组,实现的方式有两种: ArrayList 适合随机访问 LinkedList 适合做插入删除操作 Queue和Stack 这两种数据结构都可以
阅读全文
摘要:之前说过Java中类的加载顺序,这次看完继承部分,就结合继承再来说说类的加载顺序。 继承的加载顺序 由于static块会在首次加载类的时候执行,因此下面的例子就是用static块来测试类的加载顺序。 在上面的例子中,类C继承B,B继承A,而C有依赖于D。因此当创建C的时候,会自动加载C继承的B和依赖
阅读全文
摘要:包的作用 在C++中有命名空间的概念,这是因为,不同的项目或者人写出来的代码,可能名称是一样的。比如,java.util中有List,java.awt中也有List,那么我们在开发中,怎么会知道使用的是哪一个List呢? 在Java中是使用包来管理的,比如你可以这样使用: 既可以像第一行那样,使用i
阅读全文
摘要:之前文章说过Java中static的作用,有朋友想看个例子。于是便抽空写了个小栗子 代码 执行结果 static修饰的变量 首先先来说说静态修饰的变量,使用static修饰的变量会有两个效果: 第一,就是可以通过类直接访问这个对象,而不需要创建对象 第二,就是所有的创建的对象,都指向同一份对象,也就
阅读全文
摘要:看题目可能是扯皮,其实还是有很多专业知识的。从最开始没有注意到设计原则,到后面的jquery实战技巧,都是今天一天碰到的问题。 每天整理一点点,每天收获一点点。 关于软件设计 在设计系统结构的时候,一些软件设计方法,还是很重要的。 比如开闭原则,开闭原则就是: 对扩展是开放的 对修改是关闭的 要做到
阅读全文
摘要:Java虽然利用JVM,让程序员可以放心大胆的使用,可是仍然会出现内存泄露等问题。世上没有绝对的银弹,因此也不能完全把所有的任务都交给JVM,了解Java中的初始化与垃圾回收还是必不可少的知识。 关于构造器 在C中,如果要使用变量需要先申请内存。在Java中,如果你需要创建一个对象,也可以直接new
阅读全文
摘要:今天终于看完了第一章,哈哈,万事开头难....刚开始被编程思想的第一章给蒙住了,讲一堆理论,没什么意思。从第二章开始,真正的开始讲解Java相关的内容,有了一定的开发经验后,再次阅读起来,感觉收获良多啊! 关于对象 与C这种面向过程的语言不同,Java是面向对象的,在它眼里一切都是对象。 在Java
阅读全文
摘要:在日常的Java程序开发中,Properties文件的读写是很常用的。经常有开发系统通过properties文件来当做配置文件,方便用户对系统参数进行调整。 那么本片就来简单的介绍下,如何使用Properties。 文件的读取 Properties类提供了Load方法,支持以inputstream为
阅读全文
摘要:2016 04 07 "windows下编辑器会给文件添加BOM" "Socket中的Timeout" "windows下与linux下的换行符" "logback实现日志轮转" 2016 04 06 "Linux下tar.gz的压缩与解压" "文件句柄占用导致应用崩溃" "Linux系统下的乱码问
阅读全文