Java编程与集合类、GC、安全问题解析

需积分: 9 0 下载量 25 浏览量 更新于2024-07-15 收藏 6.34MB DOCX 举报
"7-29专业级回忆.docx" 主要涵盖了Java编程、字符定义、集合类特性、线程安全、数据类型支持、数据库操作关闭顺序、JVM垃圾回收(GC)的吞吐量以及安全漏洞防范等多个知识点。 1. Java字符串处理: 在示例中展示了`replaceAll()`和`replace()`方法的使用。`replaceAll()`方法使用正则表达式,而`Pattern.quote("\\d")`用于将`\d`转义为字符串,避免其被解析为正则表达式的一部分。因此,第一个输出为456456456\d,第二个输出为123456,第三个输出也是123456,因为`replace()`不使用正则表达式。 2. 字符定义: `'\n'`是换行符,`'\u12'`和`'\u0012'`是Unicode字符,`"e"`是一个包含字符'e'的字符串,`'f'`是字符f。`'\\n'`是转义字符表示换行,但`'\u12'`和`'\u0012'`的格式不正确,应为`'\u0012'`或`'\u1234'`这样的形式。 3. 集合框架与线程安全: - ConcurrentHashMap不允许null键值对。 - HashTable不允许null键和值。 - TreeMap不能有null键,但可以有null值。 - HashMap允许null键和值。 - HashSet允许加入null元素。 - 线程安全的集合类包括:Vector、TreeSet、HashTable和StringBuffer。 4. 数据类型支持: switch语句支持的类型:byte、char、short、int、Character、Byte、Short、Integer、Enum以及String。 5. 数据库操作关闭顺序: 对于ResultSet、Statement和Connection,关闭的正确顺序应该是ResultSet -> Statement -> Connection,确保释放资源时不会引发异常。 6. JVM GC的吞吐量: 吞吐量是指应用程序执行时间占总时间的比例,不包括垃圾收集时间。高吞吐量意味着系统大部分时间都在执行用户代码,而不是进行垃圾收集。 7. 安全漏洞防范: 输入校验可以防止SQL注入、XSS和XML注入,但不能防止CSRF(跨站请求伪造),因为CSRF涉及的是请求的来源验证,而非数据验证。 8. XSS与CSRF的区别: XSS(跨站脚本攻击)是将恶意代码注入到用户查看的网页中,影响当前用户的浏览器行为。而CSRF(跨站请求伪造)是利用用户的登录凭证执行非用户意愿的操作,通常涉及到第三方网站的交互。 这些知识点展示了Java开发中的基础概念和最佳实践,对于理解和解决问题具有重要的指导意义。