随笔分类 - Java
摘要:web开发经历了很漫长的时间,在国内也快有十几年的时间了。从最开始的进程级到现在的MVC经历了很多的改进和优化,本篇就主要复习了解下Spring MVC相关的知识。 发展历程 第一阶段 CGI进程响应 这一阶段,服务器比较弱,请求也很简单,就是用户发一个请求,服务器接收后新建进程,然后返回结果。 这
阅读全文
摘要:先说背景:公司采用diamond+tddl,这套技术来做web管理。本人处于好奇率先体验了下spring boot,于是就有了spring boot+tddl的组合。但是jar包上线后,屡屡发现一条error日志不痛不痒的出现在日志文件中,处于程序员的本能,怎么能允许error日志出现在我的系统中呢
阅读全文
摘要:在生产环境下,日志是最好的问题调试和跟踪方法,因此日志的地位是十分重要的。我们平时经常使用的log4j,slf4j,logback等等,他们的配置上大同小异。这里就结合Spring Boot配置一下Logback的日志。 默认最简单的配置 默认情况下,如果对日志没有特殊处理,可以直接基于applic
阅读全文
摘要:关于Spring boot 之前没有用Spring的时候是用的 ,做接口层的测试,原理上就是加载applicationContext.xml文件,然后模拟启动各种mybatis\连接池等等。 后来web工程改造成了Spring boot,首先发生变化的就是配置文件,原来的xml改成了proertie
阅读全文
摘要:先想一下,正常我们想要创建一个web服务,首先需要下载tomcat,创建web工程,配置各种web.xml,引入spring的配置,各种配置文件一顿倒腾.....下载有了spring boot,你创建一个web工程只需要一个java类,甚至都不需要下载tomcat,直接右键执行就能启动一个web服务
阅读全文
摘要:在Java里面,是不需要太过于关乎垃圾回收,但是这并不意味着开发者可以不了解垃圾回收的机制,况且在java中内存泄露也是家常便饭的事情。因此了解垃圾回收的相关知识就显得很重要了。 引用,在垃圾回收中是一个很关键的概念,它关系到如何辨别这个对象是否被回收,什么时机回收。 引用的类型 在Java中引用的
阅读全文
摘要:Cat是美团点评出的一款APM工具,同类的产品也有不少,知名的开源产品如zipkin和pinpoint;国内收费的产品如oneapm。考虑到Cat在互联网公司的应用比较广,因此被纳入选型队列,我也有幸参与技术预言。 使用Cat断断续续将近两周的时间,感觉它还算是很轻量级的。文档相对来说薄弱一些,没有
阅读全文
摘要:这个类在日常的开发中,还是非常常用的。今天就总结一下Arrays工具类的常用方法。最常用的就是asList,sort,toStream,equals,copyOf了。另外可以深入学习下Arrays的排序算法,这个还是非常有用的。 所有的方法都是在下面的类中进行测试的: asList 这个方法可以把数
阅读全文
摘要:```java package cn.xingoo.learn.commons; import org.apache.commons.io.FileUtils; import org.apache.commons.io.filefilter.DirectoryFileFilter; import org.apache.commons.io.filefilter.FileFileFilter; i...
阅读全文
摘要:最近工作遇到一个需求,需要下载excel模板,编辑后上传解析存储到数据库。因此为了更好的理解公司框架,我就自己先用spring mvc实现了一个样例。 基础框架 之前曾经介绍过一个最简单的spring mvc的项目如何搭建, "传送门在这里" 。 这次就基于这个工程,继续实现上传下载的小例子。需要做
阅读全文
摘要:经常有这种需求,拥有用户的IP地址,想要在地图上显示用户的访问量。这个时候就需要用到经纬度...应为一般的地图插件都是基于经纬度的。 那么问题来了,如何把IP转换成经纬度? 百度API 最国产的方式,就是使用百度API了,百度提供了两种服务: 普通的IP服务: "http://lbsyun.baid
阅读全文
摘要:以前写文件的复制很麻烦,需要各种输入流,然后读取line,输出到输出流...其实apache.commons.io里面提供了输入流输出流的常用工具方法,非常方便。下面就结合源码,看看IOUTils都有什么用处吧! 代码参考 "https://github.com/xinghalo/JDK Learn
阅读全文
摘要:本节主要涉及Object中通用的一些方法,比如 ,`hashCode toString clone finalize`等等 覆盖equals时请遵守通用约定 equals方法实现的等价关系: 自反性:对于所有的非null,a=a 对称性:a=b,则b=a 传递性:a=b,b=c,则a=c 一致性:对
阅读全文
摘要:本篇主要总结的是《Effecticve Java》中关于创建和销毁对象的内容。 比如: 何时以及如何创建对象 何时以及如何避免创建对象 如何确保及时销毁 如何管理对象销毁前的清理动作 考虑用静态工厂方法代替构造器 使用静态工厂的优势: 有名称 不必每次调用的时候都创建一个新的对象 返回原返回类型的任
阅读全文
摘要:这本书在Java开发的行业里,颇有名气。今天总算是粗略的看完了...后面线程部分和序列化部分由于心浮气躁看的不仔细。这个月还剩下一周,慢慢总结消化。
阅读全文
摘要:先说说需求的背景,由于业务数据都在Oracle数据库中,想要对它进行数据的分析会非常非常慢,用传统的数据仓库 数据集市这种方式,集市层表会非常大,查询的时候如果再做一些group的操作,一个访问需要一分钟甚至更久才能响应。 为了解决这个问题,就想把业务库的数据迁移到Elasticsearch中,然后
阅读全文
摘要:存储过程是保存可以接受或返回用户提供参数的SQL语句集合。在日常的使用中,经常会遇到复杂的业务逻辑和对数据库的操作,使用存储过程可以进行封装。可以在数据库中定义子程序,然后把子程序存储在数据库服务器,之后通过名称调用。 特点 1 提高性能 存储过程是预先编译过,进行优化后,存储在SQL的内存中,使用
阅读全文
摘要:早晨起得太早,昨晚睡得太晚,一天都迷迷糊糊的。中午虽然睡了半个小时,可是依然没有缓过来。整个下午都在混沌中....不过今天下载了一款手游——《剑侠情缘》,感觉不错,喜欢这种类型的游戏。 今天主要的工作还是做业务需求,不过下午状态不好,看了下《Effective java》,正好重构了下代码。 eff
阅读全文
摘要:今天在编写mybatis的mapper.xml时,发现对sql的配置还不是很熟,有很多一坨一坨的东西,其实是可以抽取成服用的。不过良好的组织代码,还是更重要的。
阅读全文
摘要:今天大部分时间都在写业务代码,然后算是从无到有的配置了下spring与mybatis的集成。 SpringMVC+Mybatis Web开发流程 配置数据源 在applicationContext.xml中引入数据源的配置: 在spring my datasource.xml中配置数据源相关的内容:
阅读全文