Java面试题(8)- 虚拟机

Java面试题(8)- 虚拟机

整理一些Java基础面试题,内容涵盖语言基础、并发、JVM、IO模型、中间件、开发框架等等。本章节的面试题有:说说JVM的内存结构;如何监控和诊断JVM堆内和堆外内存使用;如何查看JVM的内存使用情况;常用的JVM配置和调优参数都有哪些;如何用Java分配一段连续的1G的内存空间;Java为什么存在内存泄露呢;内存溢出是怎么回事,请举例说明;如何避免内存溢出呢;JVM为什么需要GC;JVM如何确定垃圾,垃圾回收算法有哪几种; GC收集器有哪些。

Java面试题(7)- 线程安全

Java面试题(7)- 线程安全

整理一些Java基础面试题,内容涵盖语言基础、并发、JVM、IO模型、中间件、开发框架等等。本章节的面试题有:说说如何保证线程安全;如何实现一个线程安全的数据结构;volatile关键字的作用是什么;Java并发包提供了哪些并发类;HashMap在多线程环境下使用需要注意什么,为什么;ThreadLocal的作用与实现原理是什么;ThreadPoolExecutor的实现原理是什么;什么是死锁,如何避免死锁;Atomiclnteger的实现原理是什么。

Java面试题(6)- 多线程

Java面试题(6)- 多线程

整理一些Java基础面试题,内容涵盖语言基础、并发、JVM、IO模型、中间件、开发框架等等。本章节的面试题有:说说有几种方法创建线程,各自的优缺点是什么;启动一个线程是用run还是start;说说线程和进程的差别是什么;说说守护线程有什么用;如何实现两个线程串行执行;一个线程调用Start()两次会怎么样;谈谈线程的生命周期和状态转移;线程的sleep和wait方法有什么区别;线程的notify和notifyAll有什么区别;上下文切换是什么含义。

Java面试题(5) – 数据结构与算法

Java面试题(5) – 数据结构与算法

整理一些来自网络的Java基础面试题,内容涵盖语言基础、并发、JVM、IO模型、中间件、开发框架等等。本章节的面试题有:说说常见的排序算法和复杂度;如何实现一个冒泡排序算法;如何遍历一棵二叉树;如何倒排链表;如何递归遍历目录下面所有文件;描述一下链式存储结构,并用代码实现双向链表。

Java面试题(4) – 设计模式

Java面试题(4) – 设计模式

整理一些来自网络的Java基础面试题,内容涵盖语言基础、并发、JVM、IO模型、中间件、开发框架等等。本章节的面试题有:说说你知道的设计模式,分别怎么实现;单例模式有哪几种,分别怎么实现;你在编码时最常用的设计模式有哪些,在什么场景下用;你能列举一个使用了访问者或者装饰者模式的开源项目吗;如何实现动态和静态代理模式;JDK源码有哪些让你印象深刻的设计模式。

Java面试题(3) – 集合类

Java面试题(3) – 集合类

整理一些来自网络的Java基础面试题,内容涵盖语言基础、并发、JVM、IO模型、中间件、开发框架等等。本章节的面试题有:Java中常用的集合类有哪些;ArrayList和LinkedList的部实现是怎样的,他们之间的区别和优缺点;说说HashMap实现原理;说说HashMap、Hashtable、TreeMap的区别;说说Vertor、ArrayList、LinkedList的区别;ConcurrentHashMap如何保证线程安全;Collection和Collections的区别。

Java面试题(2) – 体系结构

Java面试题(2) – 体系结构

整理一些来自网络的Java基础面试题,内容涵盖语言基础、并发、JVM、IO模型、中间件、开发框架等等。本章节的面试题有:Java的抽象类和接口的区别是什么;谈谈你对Java体系的理解;谈谈类加载过程和双亲委派模型;谈谈强引用、软引用、弱引用、幻象引用的区别,使用场景是什么; 有人说“Lambda能让Java慢30倍”,你怎么看;Java反射机制、动态代理基于什么原理;如何写出安全的Java代码。

Java面试题(1) – 语言基础

Java面试题(1) – 语言基础

整理一些来自网络的Java基础面试题,内容涵盖语言基础、并发、JVM、IO模型、中间件、开发框架等等。本章节的面试题有:一个字符占多少个字节,int、long、double占多少字节;Java中的异常有哪几类,分别怎么使用;什么是序列化,如何实现序列化;int和Integer有什么区别?Integer值缓存范围是什么。

Obsidian自定义文件夹图标

Obsidian自定义文件夹图标

在Obsidian的默认主题中,没有图标来区分左侧文件目录的文件夹和文件,虽然不影响使用,但是体验过于乏味。Obsidian提供了自定义CSS的方式来控制样式,生命不息,折腾不止,我们来试一试吧!在 Obsidian 文件夹里的 .obsidian 里新建一个 snippets 文件夹,再新建一个CSS文件,文件的命名没有限制,但是为了规范,尽可能准确一些,叫做 custom-icons-files-and-folders.css。在 Obsidian 的设置里面启用CSS文件。

笔记软件,我极力推荐Obsidian

笔记软件,我极力推荐Obsidian

大学时期,我首次使用了Mybase管理笔记和文档。Mybase的界面有点古板,但是功能异常强大。它的缺点也显而易见,没有移动客户端,无法在多平台同步数据。七八年前,我开始使用Evernote(本土化后叫做印象笔记),客户端UI很美观,但是整体响应有点慢,免费用户的空间也很小。后来朋友向我推荐了有道云笔记,它是国内的产品,界面很清爽,同步数据也很快,一直使用至今。国内知名的笔记软件还有语雀、为知笔记等等,这些产品固然做的很好,但是无法解决让我忧心忡忡的问题:数据安全。没有任何一家公司敢保证决不泄露客户数据,要么是被黑客窃取数据,要么被公司内鬼盗卖数据,这些案例比比皆是。随着我的笔记数量越来越多,有一些隐私数据也放在云笔记上。有道云笔记绝不可能让用户自行存储数据,我必须寻找新的产品来解决数据安全问题。