随笔分类 -  Java

Java语言相关
摘要:Web基础之日志 日志在企业开发中有着不可或缺的作用,它可以用以记录用户操作、系统运行状态和错误信息。日志记录的好坏直接关系到系统出现问题时定位的速度。 最开始的日志一般使用log4j,后来sun公司心有不甘,在jdk 1.4中加入了一个叫java.util.logging的日志包,简称jul。两种 阅读全文
posted @ 2019-08-24 20:05 code-blog 阅读(1786) 评论(0) 推荐(0) 编辑
摘要:初识WebSocket 用Java和JavaScript基于WebSocket完成聊天室Demo 什么是WebSocket,WebSocket是一种基于TCP的网络协议,就像HTTP一样,它与HTTP最大的不同就是它是全双工的,也就是服务器可以主动发送数据给浏览器(是不是像Java中的Socket) 阅读全文
posted @ 2019-08-21 18:09 code-blog 阅读(266) 评论(0) 推荐(0) 编辑
摘要:面向接口及单例工厂 单例工厂是工厂模式的一种,表示生产出的产品为单例产品。 在上古web开发中,后端是servlet、service、dao这三层。servlet依赖service,service依赖dao,为什么说依赖,因为该层持有另一层的对象: //UserServlet public clas 阅读全文
posted @ 2019-08-19 18:41 code-blog 阅读(354) 评论(0) 推荐(0) 编辑
摘要:Web基础之Mybatis 对比JdbcTempalte,mybatis才能称得上是框架,JdbcTempalte顶多算是工具类,同时,对比Hibernate,Mybatis又有更多的灵活性,算是一种折中方案。 特点: 支持自定义SQL、存储过程、及高级映射 实现自动对SQL的参数设置 实现自动对结 阅读全文
posted @ 2019-08-17 22:52 code-blog 阅读(232) 评论(0) 推荐(0) 编辑
摘要:浅析Java NIO 前言 在说NIO之前,先来说说IO的读写原理。我们都知道Java中的IO流可以分为网络IO流和文件IO流,前者在网络中使用,后者在操作文件时使用。但实际上两种流区别并不是太大,对于操作系统来说区别仅仅是和硬盘打交道还是和网卡打交道。 其次,我们直接操控的是Jvm虚拟机,虚拟机是 阅读全文
posted @ 2019-07-31 22:39 code-blog 阅读(440) 评论(0) 推荐(0) 编辑
摘要:NIO前奏之Path、Files、AsynchronousFileChannel Java 1.4加入了nio包,Java 1.7 加入了真正的AIO(异步IO),AsynchronousFileChannel就是一个典型的可以异步处理文件的类。 之前我们处理文件时,只能阻塞着,等待文件写入完毕之后 阅读全文
posted @ 2019-07-31 22:39 code-blog 阅读(389) 评论(0) 推荐(0) 编辑
摘要:Servlet Servlet : server applet,直译服务小程序。那Servlet到底是什么呢? Servlet说白了其实就是一个接口,接口的作用是什么?规范呗,这个接口规定了下面三个问题: 初始化时做什么 接收到请求时做什么 销毁时做什么 因此在Servlet中只添加业务逻辑,具体如 阅读全文
posted @ 2019-07-26 16:55 code-blog 阅读(253) 评论(0) 推荐(0) 编辑
摘要:Java基础之内省 什么是内省 首先,我们要知道什么是内省。按我自己的理解就是在反射的原理上进行封装,来更方便的操作JavaBean JavaBean就是特殊格式的类,其规范为: JavaBean 类必须是一个公共类,即使用关键字 public 声明类。 JavaBean 类中必须有一个声明为公共的 阅读全文
posted @ 2019-07-21 21:12 code-blog 阅读(247) 评论(0) 推荐(0) 编辑
摘要:Java基础之枚举 作为1.5才增加的特性,枚举的使用并不是很多。 枚举其实就是一个比较特殊的类,就如同注解其实也是个特殊的接口一样(注解反编译之后没有了@符号)。枚举使用enum关键字声明,通过反编译自定义的枚举可以看到类似下面的代码: //源代码 public enum Sex { MAN,WO 阅读全文
posted @ 2019-07-21 18:05 code-blog 阅读(179) 评论(0) 推荐(0) 编辑
摘要:JDBC JDBC四个核心对象 这几个类都是在java.sql包中 DriverManager(类): 数据库驱动管理类。这个类的作用:1)注册驱动; 2)创建java代码和数据库之间的连接,即获取Connection接口; Connection(接口): 是一个接口, 建立数据库连接的一个接口。作 阅读全文
posted @ 2019-07-06 15:14 code-blog 阅读(485) 评论(0) 推荐(0) 编辑
摘要:Callable、Future与线程池 在创建新线程的三种方式中,继承Thread和实现Runnable接口两种方式都都没有返回值,因此当我们想要获取子线程计算结果时只能设置共享数据,同时还需要考虑同步的问题,比较麻烦。而Callable接口就是解决这个问题的存在。 Callable Callabl 阅读全文
posted @ 2019-07-03 21:11 code-blog 阅读(1829) 评论(0) 推荐(1) 编辑
摘要:反射 笔者对反射的理解就是解剖class文件,来进行一系列操作。 Class类 获取Class类实例的三种方式: 类名.class 对象.getClass() static Class forName(String className)根据类的名称获取类的Class对象(这里的className必须 阅读全文
posted @ 2019-07-01 19:45 code-blog 阅读(278) 评论(0) 推荐(0) 编辑
摘要:HashMap源码阅读笔记 本文在此博客的内容上进行了部分修改,旨在加深笔者对HashMap的理解,暂不讨论红黑树相关逻辑 概述 HashMap作为经常使用到的类,大多时候都是只知道大概原理,比如底层是由数组+链表+红黑树实现,使用HashMap存储自定义类时需要重写其hashCode和equals 阅读全文
posted @ 2019-06-30 21:02 code-blog 阅读(166) 评论(0) 推荐(0) 编辑
摘要:Java设计模式之享元模式 在说享元模式之前来先看一道题: public static void main(String[] args) { Integer i1 = new Integer(50); Integer i2 = new Integer(50); System.out.println( 阅读全文
posted @ 2019-06-28 20:36 code-blog 阅读(3452) 评论(1) 推荐(2) 编辑
摘要:Java查漏补缺(3) 继承·抽象类·接口·静态·权限 相关 this与super关键字 this的作用: 调用成员变量(可以用来区分局部变量和成员变量) 调用本类其他成员方法 调用构造方法(需要在方法第一行) 举个栗子: public class Father { String name; pub 阅读全文
posted @ 2019-06-26 21:35 code-blog 阅读(188) 评论(0) 推荐(0) 编辑
摘要:Java中String类为什么被设计为final 首先,String是引用类型,也就是每个字符串都是一个String实例。通过源码可以看到String底层维护了一个byte数组:private final byte[] value;(JDK9中为byte数组,并非网上所说的char数组)。虽然该数组 阅读全文
posted @ 2019-06-25 20:03 code-blog 阅读(3844) 评论(0) 推荐(0) 编辑
摘要:单例模式 单例模式是23中设计模式中比较简单的一种,其核心思想是一个类只有一个实例,该类自己创建这一唯一实例并提供该实例的全局访问方法。 单例模式的应用场景 在说单例模式之前,来想象几个场景: 在我们的windows桌面上,我们打开了一个回收站,当我们试图再次打开一个新的回收站时,Windows系统 阅读全文
posted @ 2019-06-24 15:50 code-blog 阅读(217) 评论(0) 推荐(0) 编辑
摘要:当我们new一个GirlFriend时,我们都做了什么? 一个例子搞懂Java程序运行顺序 public class Girl { Person person = new Person("Girl"); /*构造代码块忘记加了,不过构造代码块和成员变量一样,每次构造方法时都会执行一次 { Syste 阅读全文
posted @ 2019-06-22 17:31 code-blog 阅读(714) 评论(0) 推荐(0) 编辑
摘要:Java基础之IO流 Java IO流使用装饰器设计模式,因此如果不能理清其中的关系的话很容易把各种流搞混,此文将简单的几个流进行梳理,后序遇见新的流会继续更新(本文下方还附有xmind文件链接) 抽象基类 字节流:InputStream,OutputStream. 输出流方法:close(), f 阅读全文
posted @ 2019-06-17 10:53 code-blog 阅读(266) 评论(0) 推荐(0) 编辑
摘要:常用函数式接口与Stream API简单讲解 Stream简直不要太好使啊!!! 常用函数式接口 Supplier<T>,主要方法:T get(),这是一个生产者,可以提供一个T对象。 Consumer<T>,主要方法:void accept(T),这是一个消费者,默认方法:andthen(),稍后 阅读全文
posted @ 2019-06-14 11:59 code-blog 阅读(2326) 评论(0) 推荐(0) 编辑

点击右上角即可分享
微信分享提示
🚀
回顶
收起