ログの出力仕組み

ログの出力仕組み 概要: 利用Filter来对log的内容进行组织和出力,Filter的概要内容可以通过下面的链接学习。 Java www.techscore.com 过程: 从req里面得到相应的信息,放进MDC,然后出力到log ログの出力方式 名前 概要 AdviceController Controller専用…

1Z0-809复习 第3章 Generics and Collections 泛型和集合框架

Generics and Collections Reviewing OCA Collections Array and ArrayList Searching and Sorting Wrapper Classes and Autoboxing The Diamond Operator Working with Generics Generic Classes Generic Interfaces Generic Methods Interacting with Lega…

1Z0-809复习 第6章 Exception and Assertion

Exceptions and Assertions Reviewing Exceptions Exceptions Terminology Categories of Exceptions Exceptions on the OCP Try Statement catch里不能有try里面发生不了的checked Exception, 原理也是不能存在到达不了的Exception。 Throw vs. Throws Cre…

1Z0-809复习 第9章 NIO.2

NIO.2 Use Path interface to operate on file and directory paths Use Files class to check, read, delete, copy, move, manage metadata of a file or directory Use Stream API with NIO.2 NIO.2 中的N是指Non-blocking(非阻塞) 比java.io API能做更多…

1Z0-809复习 第1章 Advanced Class Design

Advanced Class Design Reviewing OCA Concepts Access Modifiers Overloading and Overriding Abstract Classes Static and Final Imports Using instanceof A instanceof B,如果A是B,或B的子类,则是true,如果不是则是false。 如果A是null,则永远是fal…

《Java8函数式编程》学习笔记 - 第9章

第9章 使用Lambda表达式编写并发程序 前面的章节介绍如何并行化处理出具,本章讨论如何使用Lambda表达式编写并发应用, 高效传递信息和非阻塞式I/O 为什么要使用非阻塞式I/O 使用传统线程模型,每次向用户写数据时,都要调用一个方法向用户传输数据, 这个方…

1Z0-809复习 第7章 并发

Concurrency Introducing Threads Distinguishing Thread Types Introducing Threads Understanding Thread Concurrency Introducing Runnable Creating a Thread Polling with Sleep daemon threads:不阻止JVM退出的线程 Creating Threads with the Executo…

1Z0-809复习 第10章 JDBC

JDBC Introducing Relational Databases and SQL 从java访问数据库的两种方式。 JDBC:通过行列访问数据 JPA:访问数据是通过Java Object(ORM) 相对于关系型数据库还有一种类型的数据库叫做NoSQL数据库。 存储数据不是用table,而是用某种格式。 Identifyi…

1Z0-809复习 第2章 设计模式和原则 Interface

Design Patterns and Principles 会申明,实现,继承,接口,并且使用override注释 会写lambda表达式 会用java.util.function package里的 Predicate,Function,Consumer,Supplier 实现封装 实现继承,包括可是修饰符和composition 创建单例类和不可修改类 De…

1Z0-809复习 第2章 设计模式和原则 大纲

Design Patterns and Principles Designing an Interface Purpose of an Interface Introducing Functional Programming Defining a Functional Interface Implementing Functional Interfaces with Lambdas Applying the Predicate Interface Implementing …

1Z0-809复习 第1章 Creating Nested Classes

Advanced Class Design Reviewing OCA Concepts Access Modifiers Overloading and Overriding Abstract Classes Static and Final Imports Using instanceof Understanding Virtual Method Invocation Annotating Overridden Methods Coding equals, hashCo…

1Z0-809复习 第1章 toString(), equals(),hashCode(),

Advanced Class Design Reviewing OCA Concepts Access Modifiers Overloading and Overriding Abstract Classes Static and Final Imports Using instanceof Understanding Virtual Method Invocation Annotating Overridden Methods Coding equals, hashCo…

1Z0-809复习 第1章 ENUM值

Advanced Class Design Reviewing OCA Concepts Access Modifiers Overloading and Overriding Abstract Classes Static and Final Imports Using instanceof Understanding Virtual Method Invocation Annotating Overridden Methods Coding equals, hashCo…

1z-808复习 第5章

Class Design Describe inheritance and its benefits Develop code that demonstrates the use of polymorphism; including overriding and object type versus reference type 开发代码来示范多态 Determine when casting is necessary Use super and this…

1z-808复习 第6章

Exceptions 区分checked excpetion,unchecked exception,Errors Create a try-catch block and determine how exceptions alter normal program flow Describe the advantages of Exception handling Create and invoke a method that throws an exception R…

1z-808复习 第4章

Methods and Encapsulation Designing Method 例如:public final void nap (int minutes) throws InterruptedException { } Access Modifiers public 任何地方都可以调用该方法。 private 只有方法所在的类内部可以调用该方法。 protected 只可以从同一pack…

1z-808复习 第3章

Core Java APIs Creating and Manipulating Strings 理解什么是 concatenation,immutability, string pool, common methods, method chaining Concatenation Immutability The trade-off for the optimal packing is zero flexibility. 打包的最优取舍就是…

第二章 XML 2.1 XML 概述 属性文件是一种单一的平面层次结构,并且要求键值是唯一的。 XML能够表示层次,解决了上述问题。 XML与HTML都是标准通用标记语言(SGML)的衍生 XML和HTML的重要区别: XML是大小写敏感的,例如<H1>和<h1>是不同的XML标签 在HTML中,如果从</h1></h1>…

Java学习笔记 - 流

流与文件 Java中用于输入和输出的 应用编程接口(Application Programming Interface, API)。 如何访问文件与目录, 如何以二进制格式和文本格式来读写数据。 对象序列化机制 新I/O(nio) 正则表达式 1.1 流 可以从其中读入一个字节序列的对象称做输入流 …

22.10 队列和优先队列 队列:先进先出,元素被追加到队列末尾,然后从队列头删除。 优先队列:元素被赋予优先级,最高优先级的元素首先被删除。 Queue Queue接口用附加的插入,提取和检验操作来扩展java.util.Collection。 offer是添加一个元素。 poll和remo…

Java集合框架深度学习笔记 - HashMap和Collections

22.11 图(Map) Map是一种依照键值存储元素的容器。 在Map中,键值可以是任意类型的对象。Map中不能有重复的键值。 每个键值对应一个值,一个键值和它的对应值构成一个条目, 真正在map中存储的是这个条目。 图有三种:散列图HashMap,链式散列图和树形图。 M…

Java的集合框架 深度学习笔记

第22章 Java的集合框架 描述Java集合框架的层次体系结构 使用Collection接口中定义的通用方法来操作规则集和线性表 使用Iterator接口来遍历一个集合 使用for-each循环简化对集合的遍历 探究如何使用,以及何时使用HastSet,LinkedHashSet或者TreeSet来存储元…

Java 泛型深度学习笔记

泛型 描述泛型的优点 使用泛型类和接口 定义泛型类和接口 解释为什么泛型类型可以提高可靠性和可读性 定义并使用泛型方法和受限泛型类型 使用原始类型向后兼容 解释为什么有必须压迫必要有通配的泛型类型 描述泛型消除并列出一些由类型消除引起的泛型上的限…

《Java8函数式编程》学习笔记 - 第8章

第八章 设计和架构的原则 软件开发最重要的设计工具不是什么技术,而是一颗在设计原则方面训练有素的头脑。 —— Craig Larman 如何使用Lambda表达式实现SOLID原则, 该原则是开发良好面向对象程序的准备。 设计模式可以参考下面这个连接 设计模式 在这里主要…

《Java8函数式编程》学习笔记 - 第7章

第七章 测试,调试,和重构 重构,测试驱动开发(TDD)和持续继承(CI)越来越流行。 <=这三个概念不是很明白 本章主要探讨如何在代码中使用Lambda表达式的技术, 也会说明什么情况下不应该(直接)使用lambda表达式。 如何调试大量使用Lambda表达式和流的程…

《Java8函数式编程》学习笔记 - 第5章

第五章 高级集合器和收集器 介绍一些高级主题,包括新引入的Collectors类,方法引用。 5.1 方法引用 artist -> artist.getName() Artist :: getName 标准语法为ClassName::MethodName 虽然这是一个方法,但不需要在后面加括号, 因为这里并不调用该方法。 我…

《Java8函数式编程》学习笔记 - 4.1

类库 4.1 在代码中使用Lambda表达式 前面讨论了如何编写Lambda表达式,接下来阐述的是如何使用Lambda表达式 //例4-1 使用isDebugEnabled方法降低日志性能开销 Logger logger = new Logger(); if (logger.isDebugEnabled()) { logger.debug("Look at this: " …

《Java8函数式编程》学习笔记 - 第三章 流

第三章 流 Java8中对核心类库的改进主要包括集合类的API和新引入的流(Stream) 3.1 从外部迭代到内部迭代 样板代码的理解:是为了完成了某种操作的固定需要写的代码,譬如写循环时的for,bean的getter和setter 外部迭代 for循环起始就是一个外部迭代的过程。 …

《Java8函数式编程》学习笔记 - 第一章,第二章

第一章 简介 1.1 为什么需要再次修改Java 开发类库的程序员使用Java时,发现抽象级别还不够, 处理大型数据集合,Java还欠缺高效的并行操作。 使用Java8可以编写复杂的集合处理算法, 只需要简单修改一个方法,就能让代码在多核CPU上高效运行。 为了编写这类…

EclipseJdt EclipseJdt { //定义一个clos的数组 def clos = [] //定义fp这个文件参数(.factorypath文件) def fp = file('.factorypath') //把outputs的file定义为fp所指的文件 //这样如果.factorypath文件存在的时候,EclipseJdt就不会被重复执行 outputs.…