随笔分类 -  Java

摘要:一个典型的java web 从架构上看起来应该是这个样子: 1. web浏览器发送http请求到服务端, 被controller(servlet)获取并进行处理. 2. Controller (Servlet)调用核心业务逻辑 model部分. 3. Model进行数据库存取操作, 并将操作结果返回 阅读全文
posted @ 2018-08-13 21:27 YanyuWu 阅读(115) 评论(0) 推荐(0)
摘要:AOP aspect oriented programing. 面向切面的编程. 编程中会遇到很多在代码中具有横向逻辑的代码, 比如log, 比如性能检测等代码, 这些代码将实际的业务逻辑代码包含在里面, 很难做到纵向的抽离这些重复的横向逻辑代码. 所以引入了AOP的概念. 1. AOP的术语介绍 阅读全文
posted @ 2018-06-27 20:45 YanyuWu 阅读(101) 评论(0) 推荐(0)
摘要:1. 首先知道Spring是个什么. Spring是分层的一个轻量级开源框架. 以反转控制IOC, 和面向切面变成AOP为内核. 提供了展现层spring MVC, 持久层Spring JDBC以及业务层事务管理等众多企业级应用技术. Spring一直贯彻并遵守:好的设计优于具体实现, 代码应该易于 阅读全文
posted @ 2018-05-06 17:51 YanyuWu 阅读(334) 评论(0) 推荐(0)
摘要:1. 自反性. reflexive . for non null value. x.equals(x) always be true. 2. 对称性. symmetric. for non null value x and y. if x.equals(y) = true, y.equals(x) 阅读全文
posted @ 2018-04-24 15:36 YanyuWu 阅读(251) 评论(0) 推荐(0)
摘要:java程序部署的方式 1. 本机部署 1.1 Executable JAR JAR就是Java Archive, 这种文件是一个pkzip文件,下面是创建一个JAR并执行的过程: 1.1.1 编译java文件, 将class文件统一编译进入相应的classes文件夹内 %cd myproject/ 阅读全文
posted @ 2018-04-20 14:12 YanyuWu 阅读(196) 评论(0) 推荐(0)
摘要:面试首先是一个双向选择, 这个一定要牢记. 公司招聘你主要是看你能否为公司带来价值.所以你面试的时候只要让面试官觉得你能带来价值即可 首先面试者需要确认自己的target: 1、明确项目是做什么的 2、明确项目的价值。(为什么做这个项目,它解决了用户什么痛点,它带来什么价值?) 3、明确项目的功能。 阅读全文
posted @ 2018-04-19 22:36 YanyuWu 阅读(131) 评论(0) 推荐(0)
摘要:我们一般将对象添加到 List当中后, 在一定的情况下是期望这个list中的对象是有序的, 所以我们一般会使用 List.Sort()方法, 将list当中的对象进行排序。 让我们看看sort这个方法: public static <T extends Comparable<? super T>> 阅读全文
posted @ 2018-04-19 22:21 YanyuWu 阅读(202) 评论(0) 推荐(0)
摘要:序列化: 序列化是去存储对象的状态的, 一个对象序列化的时候要么是可以完全序列化, 如果里面有一个object是没有声明serializable接口的则无法序列化整个对象. 想要序列化的类必须声明serializable接口 如果序列化过程中想跳过某些变量, 则给这些变量声明为transient的 阅读全文
posted @ 2018-04-17 13:32 YanyuWu 阅读(100) 评论(0) 推荐(0)
摘要:看了很多关于hashmap的博文后, 对hashmap有了一个比较粗浅的了解. 在java8中 hashmap的存储结构是: 数组+链表+红黑树 查找的时候,根据 hash 值我们能够快速定位到数组的具体下标,但是之后的话,需要顺着链表一个个比较下去才能找到我们需要的,时间复杂度取决于链表的长度,为 阅读全文
posted @ 2018-04-12 10:52 YanyuWu 阅读(1027) 评论(0) 推荐(0)
摘要:原文链接 摘要 HashMap是Java程序员使用频率最高的用于映射(键值对)处理的数据类型。随着JDK(Java Developmet Kit)版本的更新,JDK1.8对HashMap底层的实现进行了优化,例如引入红黑树的数据结构和扩容的优化等。本文结合JDK1.7和JDK1.8的区别,深入探讨H 阅读全文
posted @ 2018-04-10 15:05 YanyuWu 阅读(161) 评论(0) 推荐(0)
摘要:CyclicBarrier 意思是栅栏, 可以让多组线程到达某个点后开始等待, 等指定的线程数量都到达后再恢复线程, 这个CyclicBarrier是可以循环使用的. 又称为循环栅栏. 栗子: CyclicBarrier 有两个构造函数: public CyclicBarrier(int parti 阅读全文
posted @ 2018-04-10 11:35 YanyuWu 阅读(92) 评论(0) 推荐(0)
摘要:原文出处: http://www.cnblogs.com/xrq730/p/5060921.html 前言 Java多线程分类中写了21篇多线程的文章,21篇文章的内容很多,个人认为,学习,内容越多、越杂的知识,越需要进行深刻的总结,这样才能记忆深刻,将知识变成自己的。这篇文章主要是对多线程的问题进 阅读全文
posted @ 2018-04-09 17:26 YanyuWu 阅读(115) 评论(0) 推荐(0)
摘要:Socket 编程 套接字使用TCP提供了两台计算机之间的通信机制。 客户端程序创建一个套接字,并尝试连接服务器的套接字。 当连接建立时,服务器会创建一个 Socket 对象。客户端和服务器现在可以通过对 Socket 对象的写入和读取来进行通信。 java.net.Socket 类代表一个套接字, 阅读全文
posted @ 2018-04-05 17:10 YanyuWu 阅读(234) 评论(0) 推荐(0)
摘要:泛型的本质是 参数化类型, 操作的数据类型可以被指定为一个参数. 泛型分为泛型方法和泛型类 泛型方法: 写一个泛型方法,该方法在调用时可以接收不同类型的参数。根据传递给泛型方法的参数类型,编译器适当地处理每一个方法调用。 public class GenericMethodTest { // 泛型方 阅读全文
posted @ 2018-04-05 15:54 YanyuWu 阅读(118) 评论(0) 推荐(0)
摘要:1. 方法重写override: 参数列表必须完全与被重写方法的相同; 返回类型必须完全与被重写方法的返回类型相同; 访问权限不能比父类中被重写的方法的访问权限更低。例如:如果父类的一个方法被声明为public,那么在子类中重写该方法就不能声明为protected。 父类的成员方法只能被它的子类重写 阅读全文
posted @ 2018-04-05 11:39 YanyuWu 阅读(111) 评论(0) 推荐(0)
摘要:final的意思就是“这个值不能变”。 Final修饰变量时: final的变量可以直接赋值; 可以先声明,后赋值; 也可以指向一个引用,但是一旦指向一个引用后则不能更改到其他的引用。 上面的四种方法中,第三种和第四种方法需要谨慎使用,因为在大多数情况下,如果是仅仅为了一点设计上的考虑,我们并不需要 阅读全文
posted @ 2018-03-27 21:06 YanyuWu 阅读(121) 评论(0) 推荐(0)
摘要:*首先我们都知道 java的对象都是存储在堆中的。 但是java对于堆的内存分配, 由于有垃圾回收机制变得十分有效率。因为垃圾回收机制会将堆的内存进行整理和压缩。 下面我来介绍垃圾回收机制的工作性质及其原理。 有一种垃圾回收机制的设计是reference counting。 当一个对象的refere 阅读全文
posted @ 2018-03-25 20:37 YanyuWu 阅读(120) 评论(0) 推荐(0)