文章分类 -  java基础

摘要:1、Slf4j slf4j 的全称是 Simple Loging Facade For Java,即它仅仅是一个为 Java 程序提供日志输出的统一接口,并不是一个具体的日志实现方案,就比如 JDBC 一样,只是一种规则而已。所以单独的 slf4j 是不能工作的,必须搭配其他具体的日志实现方案,比如 阅读全文
posted @ 2020-07-22 10:08 朝暮的小知识 阅读(711) 评论(0) 推荐(0)
摘要:1、JAVA 内部类 Java 类中不仅可以定义变量和方法,还可以定义类,这样定义在类内部的类就被称为内部类。根据定义的方式不同,内部类分为静态内部类,成员内部类,局部内部类,匿名内部类四种。 静态内部类 定义在类内部的静态类,就是静态内部类。 1. 静态内部类可以访问外部类所有的静态变量和方法,即 阅读全文
posted @ 2020-07-06 16:37 朝暮的小知识 阅读(132) 评论(0) 推荐(0)
摘要:1、什么是 CAS(比较并交换-乐观锁机制-锁自旋) 概念及特性 CAS(Compare And Swap/Set)比较并交换,CAS 算法的过程是这样:它包含 3 个参数CAS(V,E,N)。V 表示要更新的变量(内存值),E 表示预期值(旧的),N 表示新值。当且仅当 V 值等于 E 值时,才会 阅读全文
posted @ 2020-07-03 16:38 朝暮的小知识 阅读(163) 评论(0) 推荐(0)
摘要:1、CyclicBarrier、CountDownLatch、Semaphore 的用法 CountDownLatch(线程计数器 ) CountDownLatch 类位于 java.util.concurrent 包下,利用它可以实现类似计数器的功能。比如有一个任务 A,它要等待其他 4 个任务执 阅读全文
posted @ 2020-06-29 16:59 朝暮的小知识 阅读(221) 评论(0) 推荐(0)
摘要:1、同步锁与死锁 同步锁 当多个线程同时访问同一个数据时,很容易出现问题。为了避免这种情况出现,我们要保证线程同步互斥,就是指并发执行的多个线程,在同一时间内只允许一个线程访问共享数据。 Java 中可以使用 synchronized 关键字来取得一个对象的同步锁。 死锁 死锁,就是多个线程同时被阻 阅读全文
posted @ 2020-06-29 11:00 朝暮的小知识 阅读(150) 评论(0) 推荐(0)
摘要:1、线程基本方法 线程相关的基本方法有 wait,notify,notifyAll,sleep,join,yield 等。 线程等待(wait) 调用该方法的线程进入 WAITING 状态,只有等待另外线程的通知或被中断才会返回,需要注意的是调用 wait()方法后,会释放对象的锁。因此,wait 阅读全文
posted @ 2020-06-28 16:58 朝暮的小知识 阅读(181) 评论(0) 推荐(0)
摘要:JAVA 锁 乐观锁 乐观锁是一种乐观思想,即认为读多写少,遇到并发写的可能性低,每次去拿数据的时候都认为别人不会修改,所以不会上锁,但是在更新的时候会判断一下在此期间别人有没有去更新这个数据,采取在写时先读出当前版本号,然后加锁操作(比较跟上一次的版本号,如果一样则更新),如果失败则要重复读-比较 阅读全文
posted @ 2020-06-22 09:57 朝暮的小知识 阅读(184) 评论(0) 推荐(0)
摘要:1、熟悉的设计模式 单例模式:保证被创建一次,节省系统开销。 工厂模式(简单工厂、抽象工厂):解耦代码。 观察者模式:定义了对象之间的一对多的依赖,这样一来,当一个对象改变时,它的所有的依赖者都会收到通知并自动更新。 外观模式:提供一个统一的接口,用来访问子系统中的一群接口,外观定义了一个高层的接口 阅读全文
posted @ 2020-06-09 17:26 朝暮的小知识 阅读(158) 评论(0) 推荐(0)
摘要:1、http 响应码 301 和 302 代表的是什么?有什么区别 301:永久重定向。 302:暂时重定向。 它们的区别是,301 对搜索引擎优化(SEO)更加有利;302 有被提示为网络拦截的风险。 2、tcp 和 udp的区别 tcp 和 udp 是 OSI 模型中的运输层中的协议。tcp 提 阅读全文
posted @ 2020-06-09 17:22 朝暮的小知识 阅读(143) 评论(0) 推荐(0)
摘要:1、session 和 cookie 有什么区别 存储位置不同:session 存储在服务器端;cookie 存储在浏览器端。 安全性不同:cookie 安全性一般,在浏览器存储,可以被伪造和修改。 容量和个数限制:cookie 有容量限制,每个站点下的 cookie 也有个数限制。 存储的多样性: 阅读全文
posted @ 2020-06-09 17:12 朝暮的小知识 阅读(137) 评论(0) 推荐(0)
摘要:1、为什么要使用克隆 克隆的对象可能包含一些已经修改过的属性,而 new 出来的对象的属性都还是初始化时候的值,所以当需要一个新的对象来保存当前对象的“状态”就靠克隆方法了。 2、如何实现对象克隆 实现 Cloneable 接口并重写 Object 类中的 clone() 方法。 实现 Serial 阅读全文
posted @ 2020-06-09 16:56 朝暮的小知识 阅读(139) 评论(0) 推荐(0)
摘要:1、什么是反射 反射是在运行状态中,对于任意一个类,都能够知道这个类的所有属性和方法;对于任意一个对象,都能够调用它的任意一个方法和属性;这种动态获取的信息以及动态调用对象的方法的功能称为 Java 语言的反射机制。 2、什么是 Java 序列化?什么情况下需要序列化 Java 序列化是为了保存各种 阅读全文
posted @ 2020-06-09 16:54 朝暮的小知识 阅读(198) 评论(0) 推荐(0)
摘要:1、ThreadLocal 是什么?有哪些使用场景 ThreadLocal 为每个使用该变量的线程提供独立的变量副本,所以每一个线程都可以独立地改变自己的副本,而不会影响其它线程所对应的副本。 ThreadLocal 的经典使用场景是数据库连接和 session 管理等。 2、synchronize 阅读全文
posted @ 2020-06-09 16:51 朝暮的小知识 阅读(201) 评论(0) 推荐(0)
摘要:1、runnable 和 callable 有什么区别 runnable 没有返回值,callable 可以拿到有返回值,callable 可以看作是 runnable 的补充。 2、线程有哪些状态 NEW 尚未启动 RUNNABLE 正在执行中 BLOCKED 阻塞的(被同步锁或者IO锁阻塞) W 阅读全文
posted @ 2020-06-09 16:40 朝暮的小知识 阅读(127) 评论(0) 推荐(0)
摘要:1、Array 和 ArrayList 有何区别 Array 可以存储基本数据类型和对象,ArrayList 只能存储对象。 Array 是指定固定大小的,而 ArrayList 大小是自动扩展的。 Array 内置方法没有 ArrayList 多,比如 addAll、removeAll、itera 阅读全文
posted @ 2020-06-09 16:17 朝暮的小知识 阅读(170) 评论(0) 推荐(0)
摘要:1、BIO、NIO、AIO 有什么区别 BIO:Block IO 同步阻塞式 IO,就是我们平常使用的传统 IO,它的特点是模式简单使用方便,并发处理能力低。 NIO:Non IO 同步非阻塞 IO,是传统 IO 的升级,客户端和服务器端通过 Channel(通道)通讯,实现了多路复用。 AIO:A 阅读全文
posted @ 2020-06-09 09:44 朝暮的小知识 阅读(141) 评论(0) 推荐(0)
摘要:1、LINUX 下线程,GDI 类的解释 LINUX 实现的就是基于核心轻量级进程的"一对一"线程模型,一个线程实体对应一个核心轻量级进程,而线程之间的管理在核外函数库中实现;GDI 类为图像设备编程接口类库。 2、Jdo 是什么 JDO 是 Java 对象持久化的新的规范,为 java data 阅读全文
posted @ 2020-06-08 17:41 朝暮的小知识 阅读(880) 评论(0) 推荐(0)
摘要:1、如何给 weblogic 指定大小的内存 在启动 Weblogic 的脚本中(位于所在 Domian 对应服务器目录下的startServerName),增加 set MEM_ARGS=-Xms32m -Xmx200m,可以调整最小内存为 32M,最大 200M。 2、如何设定的 weblogi 阅读全文
posted @ 2020-06-08 09:40 朝暮的小知识 阅读(1322) 评论(0) 推荐(1)
摘要:1、一个 byte 几个单位 8bit。 2、常用 UNIX 命令(Linux 的常用命令) ls pwd mkdir rm cp mv cd ps ftp telnet ping env more echo 3、排序都有哪几种方法?请列举。用 JAVA 实现一个快速排序 排序的方法有:插入排序(直 阅读全文
posted @ 2020-06-08 09:31 朝暮的小知识 阅读(180) 评论(0) 推荐(0)
摘要:1、EJB 需直接实现它的业务接口或 Home 接口吗 远程接口和 Home 接口不需要直接实现,他们的实现代码是由服务器产生的,程序运行中对应实现类会作为对应接口类型的实例被使用。 2、对以下在 J2EE 中常用的名词进行解释 web 容器:给处于其中的应用程序组件(JSP,SERVLET)提供一 阅读全文
posted @ 2020-06-05 15:20 朝暮的小知识 阅读(158) 评论(0) 推荐(0)