Java泛型类型擦除以及类型擦除带来的问题
Java泛型在编译时会进行类型擦除,仅保留原始类型(如Object或限定类型),导致运行时无法获取泛型信息。这引发诸多问题:反射可绕过类型限制、静态成员不能使用类的泛型参数、instanceof检查泛型类型不合法、基本类型不可作为泛型参数等。同时,编译器通过桥接方法解决多态冲突,并在取值时自动插入强制类型转换,确保类型安全。
百度面经
本内容涵盖前端核心技术点,包括JS基础(数据类型、闭包、事件循环)、框架对比(React与Vue)、HTTP协议、跨域、性能优化、安全防护、工程化及算法题等,全面覆盖面试高频问题,助力系统化提升前端能力。(239字)
SQL工具
该方法用于检测输入字符串是否包含常见SQL关键字,防止SQL注入攻击。通过转为小写并匹配预定义的敏感词列表(如select、drop、union等),若存在返回true,否则返回false,适用于基础SQL安全校验。
XSS攻击
XSS(跨站脚本攻击)是攻击者通过网站漏洞注入恶意脚本,用户访问时执行,窃取数据、Cookie或劫持会话。主要分反射型和存储型,危害大。防御措施包括输入转义、白名单过滤及CSP内容安全策略,有效防止脚本注入。
常见的网络攻击
常见网络攻击包括恶意软件、网络钓鱼、中间人攻击、DDoS攻击、SQL注入、零日漏洞和DNS隧道等。攻击者利用漏洞或社会工程手段入侵系统,窃取数据、破坏服务或控制设备。防范需加强安全意识与技术防护。
One Trick Per Day
Map初始化应避免容量设置不当,建议用Guava指定预期大小;禁用Executors创建线程池,防止OOM,推荐手动配置或使用Guava;Arrays.asList返回不可变列表,禁止修改操作;遍历Map优先使用entrySet或forEach;SimpleDateFormat非线程安全,应避免static使用,推荐ThreadLocal或Java8新时间类;并发更新记录需加锁,推荐乐观锁配合version机制。
RememberMe简介及用法
RememberMe是Spring Security中实现“记住我”功能的机制,基于服务端自动登录,避免频繁登录。通过Cookie存储令牌,用户关闭浏览器后仍可保持登录状态。需注意令牌泄露风险,可通过持久化Token至数据库并增加二次校验提升安全性。
OAuth2.0实战案例
本案例详解OAuth2.0四种授权模式实战:涵盖父工程搭建、资源与授权模块配置,通过授权码、简化、密码及客户端模式实现认证授权,结合Spring Security完成登录与权限审批,最终获取token访问受保护资源,助你掌握OAuth2.0核心流程。(238字)