+ 编码
常见的编码方式有ASCII、ISO-8859-1、GB2312、GBK、UTF-8、UTF-16。
ASCII码表示128个字符显然是不够的,ISO-8859-1到ISO-8859-15扩展ASCII,ISO-8859-1涵盖了大多西欧语言字符,所以应用最广泛;GB2312是双字节编码,范围是A1-F7,包含符号区和汉字区;GBK是为了扩展GB2312,兼容GB2312;GB18030是我国强制标准,可能是单字节、双字节或四字节编码,与GB2312兼容,使用得并不广泛;UTF-16以两个字节存储,Java以UTF-16作为内存的字符存储格式;UTF-8采用变长技术,不同类型的字符可以由1-6个字节组成,兼容ASCII码。
涉及编码的地方一般都是从字节到字符或从字符到字节的转换上,需要这种转换的场景主要是IO以及内存的读写。
+ ClassLoader
3层类加载器:Bootstrap ClassLoader、ExtClassLoader、AppClassLoader。
+ 海量数据的解决方案
缓存和页面静态化:程序直接操作缓存是ConcurrentHashMap,缓存框架有Memcache、Redis等;缓存使用中最重要的问题是什么时候创建缓存和缓存失效机制,
数据库优化:表结构优化、SQL语句优化、分区、分表、索引优化、使用存过程代替直接操作。
分离活跃数据
批量读取和延迟修改
读写分离
分布式数据库
NoSQL和Hadoop
+ 高并发的解决方案
应用和静态资源分离
页面缓存
集群与分布式
反向代理(反向代理服务器时服务器自己用的,我们并不知道)
CDN
+ JSP开发Java Web的主要方式
直接使用JSP
JSP+JavaBean(JavaBean处理数据库)
JSP + Servlet + JavaBean
Java EE
框架整合应用
+ JavaBean
组件技术有COM、JavaBean、EJB和CORBA。JavaBean是一种Java语言写成的可重用组件。JavaBean是遵循特殊规范的Java类,JavaBean按功能可分为可视Bean(通过属性接口接收数据显示在页面中)和不可视Bean(在程序内部起作用,用于求值、存储数据)。JavaBean定义应遵循的规范如下:
1、必须有一个无参构造函数
2、对在bean中定义的所有属性提供getter和setter方法,并且这些方法都是公共的
3、对Boolean类型的属性,其getter方法的形式为isXxx
4、对数组类型的属性,要提供形式为getXxx何setXxx的方法
JavaBean的作用域通过<jsp:useBean>的scope属性定义,有page、request、session、application4种。