一些容易忽略的Java基础题
protected 范围:本类、子类、包内 Oracle 在 DDL 前后各执行一次 COMMIT,所以慎用 truncate Servlet 每个请求一个线程 CGI (Common Gateway Interface,公共网关接口) 每个请求一个进程 switch 实际只能 int (byte short char 因为能向上转型),long 不行 1.5+Byte Short Char Integer enum(ordinal 是 int) 1.7 String(hashCode 是 int) Integer.parseInt 返回 int Integer.valueOf 返回对象 -128~127 已有,和自动装箱一致 int 和 Integer 比较会变成值比较从而相等 float与0比较: const float EP = 0.000001; if ((x >= - EP) && (x <= EP) ) str.replaceAll(regex, repl) 是正则替换,等同Pattern.compile(regex).matcher(str).replaceAll(repl) SQL 执行顺序: FROM -> WHERE -> GROUP BY -> HAVING -> SELECT -> DISTINCT -> TOP -> ORDER BY 扩容: 默认1<<4=16 最大1<<30 3/4=0.75 HashMap/HashSet c=16 | if(0.75c) 2c,12时32 Hashtable c=11 | if(0.75c) 2c+1,8时17 ArrayList c=0, c=10 | max(1.5c+1, l) Vector c=10 | 2c StringBuffer c=16 | max(2c+2, x+l) https://www.cnblogs.com/lq147760524/p/6713677.html 2的3次方最快方法1<<3 线程安全: ServletContext、HttpSession 非线程安全: ServletRequest SimpleDateFormat yyyy-MM-dd HH:mm:ss.S 特别注意24小时H大写 new Date(y-1900, M-1,d) HashMap kv 均可 null HashTable kv 均不可 null JVM 类加载器: BootStrapClassLoader 引导 ExtClassLoader 扩展 AppClassLoader 应用 CustomClassLoader 用户自定义 Tomcat 类加载器: Bootstrap 引导 jre/lib/ext, System 系统 CATALINA_HOME/bin, Common 通用 CATALINA_HOME/lib, webapp 应用 WEB-INF JS全局属性:Infinity NaN undefined 全局函数: 字符转代码执行 eval() 编解码 encodeURI()decodeURI() escape()unescape() encodeURIComponent() decodeURIComponent() 判属性 isFinite()isNaN() 类型转换 Number()String() parseFloat()parseInt() getPriority() 返回线程的优先级 TCP 状态: 客户端独有的:SYN_SENT FIN_WAIT1 FIN_WAIT2 CLOSING TIME_WAIT 服务器独有的:LISTEN SYN_RCVD CLOSE_WAIT LAST_ACK 共有的:CLOSED ESTABLISHED Join 算法: Nested Loop Join Sort Merge Join Hash Join
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· 单线程的Redis速度为什么快?
· SQL Server 2025 AI相关能力初探
· AI编程工具终极对决:字节Trae VS Cursor,谁才是开发者新宠?
· 展开说说关于C#中ORM框架的用法!