Luckylau's Blog

Keep Moving, Keep Learning


  • 首页

  • 分类

  • 关于

  • 归档

  • 标签

  • 搜索
close
Luckylau's Blog

SpringBoot之log4j

发表于 2017-12-28 | 分类于 java

什么是log4j?

​ Log4j有三个主要的组件:Logger(记录器),Appender (输出源)和Layouts(布局)。可简单理解为日志类别,日志要输出的地方和日志以何种形式输出。综合使用这三个组件可以轻松地记录信息的类型和级别,并可以在运行时控制日志输出的样式和位置。

Logger

​ Loggers组件在此系统中被分为五个级别:DEBUG、INFO、WARN、ERROR和FATAL。这五个级别是有顺序的,DEBUG < INFO < WARN < ERROR < FATAL,分别用来指定这条日志信息的重要程度。

其中重要的是name和additivity。

name :定义了logger的层级,如x.y 表示两层,x层和y层,x是y的父层级,x.y所在层级是y层级。additivity:默认为true,表示当前logger将打印日志到当前的appender及所有的父层级所指定的appender;false 为只打到当前自己的appender

阅读全文 »
Luckylau's Blog

设计模式之过滤器模式

发表于 2017-11-25 | 分类于 java

过滤器模式

1
2
3
4
5
6
package test;
import java.util.List;
public interface Filter {
public List<Computer> filter(List<Computer> regulars);
}
阅读全文 »
Luckylau's Blog

linux系统常用监控命令

发表于 2017-11-24 | 分类于 Linux

uptime

1
15:24:23 up 84 days, 17 min, 6 users, load average: 0.67, 0.66, 0.72

15:24:23 //系统当前时间

up 84 days, 17 min //主机已运行时间,时间越大,说明你的机器越稳定

6 users //用户连接数,是总连接数而不是用户数

load average //在过去1分钟、5分钟、15分钟内系统的load值

阅读全文 »
Luckylau's Blog

SpringBoot之MyBatis

发表于 2017-11-12 | 分类于 java

什么是MyBatis?

​ MyBatis是一个支持普通SQL查询,存储过程和高级映射的优秀持久层框架。MyBatis消除了几乎所有的JDBC代码和参数的手工设置以及对结果集的检索封装。MyBatis可以使用简单的XML或注解用于配置和原始映射,将接口和Java的POJO(Plain Old Java Objects,普通的Java对象)映射成数据库中的记录。

orm工具的基本思想:

  1. 从配置文件(通常是XML配置文件中)得到 SqlSessionFactory
  2. 由SqlSessionFactory 产生 SqlSession
  3. 在SqlSession 中完成对数据的增删改查和事务提交等
  4. 在用完之后关闭SqlSession
  5. 在java 对象和 数据库之间有做mapping 的配置文件,也通常是xml 文件
阅读全文 »
Luckylau's Blog

设计模式之单例模式

发表于 2017-10-24 | 分类于 java

单例模式是一个创建型的模式;

懒汉式(支持多线程)

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
public class Singleton {
private volatile static Singleton singleton;
private Singleton() {
}
public static Singleton getSingleton() {
if (singleton == null) {
synchronized (Singleton.class) {
if (singleton == null) {
singleton = new Singleton();
}
}
}
return singleton;
}
}

饿汉式(支持多线程)

1
2
3
4
5
6
7
8
public class Singleton {
private static Singleton instance = new Singleton();
private Singleton() {
}
public static Singleton getInstance() {
return instance;
}
}
1
2
3
4
5
6
7
8
9
10
11
public class Singleton {
private static class SingletonHolder{
private static Singleton instance = new Singleton();
}
private Singleton() {
}
public static Singleton getInstance() {
return SingletonHolder.instance;
}
}
Luckylau's Blog

java并发之线程池

发表于 2017-09-09 | 分类于 java

​ Java中的线程池是运用场景最多的并发框架,几乎所有需要异步或并发执行任务的程序都可以使用线程池。线程池能够带来3个好处:降低资源消耗 (重复利用已创建的线程降低线程创建和销毁造成的消耗),提高响应速度(当任务到达时,任务可以不需要等到线程创建就能立即执行 ),提高线程的可管理性(线程是稀缺资源,如果无限制地创建,不仅会消耗系统资源,还会降低系统的稳定性,使用线程池可以进行统一分配、调优和监控)。

线程池的实现原理

阅读全文 »
1…192021…36
Luckylau

Luckylau

人生识字忧患始

215 日志
14 分类
33 标签
GitHub Weibo
© 2017 - 2022 Luckylau
由 Hexo 强力驱动
主题 - NexT.Pisces