面试经:懒加载和和预加载。难度:什么是懒加载和预加载?请说下什么是懒加载和预加载?懒加载和预加载其实都是一种页面的性能优化,都是为了提高网站和应用程序的性能,减少页面的加载时间,其中来说懒加载一般是指在页面滚动时按需加载页面上的图片、视频或者是其他资源,当页面加载时只会加载页面的初始内容而不会加载页面上的所有资源,所以当用户去滚动页面的时候再依据需要去加载对应的资源。

预加载是指在页面加载时提前加载页面上的资源,以便在用户需要时可立即访问。那么预加载是通过页面中的头部标签去使用外部u003clinku003e标签,外链样式以及u003cscriptu003e外部js方式去实现的。可以使用u003clinku003e标签来预加载CSS文件,使用u003cscriptu003e标签来预载图片或者是其他资源。

web请求处理的过程大致是过滤器controller渲染jsp过滤器。懒加载的问题主要发生在要渲染jsp的时候hibernatesession已经关闭,所以解决这个问题的方案应该是在过滤器中把hibernatesession关闭。上述代码也不是这个问题最好的解决方法,事务的控制一般是要放在service层,在过滤器中只做开启hibernatesession,绑定hibernatesession至threadlocal上,最后关闭hibernatesession就行了。

分页:一种技术手段,将大量数据按照某种顺序进行排序之后进行分段,再展示给用户看。用户每次只能看到一部分数据,但可以通过翻页或者指定页码等方式切换分段的数据,一直到用户找到自己需要的数据。滚动加载/懒加载:其实和分页原理相似,都是在某个固定的可视窗口中才能看到一部分数据,区别在于滚动加载是通过鼠标滚动进行数据的分段切换的。
3、OC底层原理探索—类的加载(2上篇文章我们探索了read_images里面的几个比较重要的流程,这篇我们接着上篇文章剩下的realizeClassWithoutSwift方法来讲解1.首先进行判断,判断类是否存在,如果不存在直接返回nil,然后在判断这个类是否已经验证实现,如果实现则返回当前类,只要时因为这个地方也存在递归实现元类与父类,根类的父类为nil、元类的isa指向自己,所以这样可以保证类只会被初始化一次2.rw的初始化3.对类的父类和元类进行递归处理。