两个Web组件之间为转发关系时,转发源会将要共享 request范围内的数据先用setAttribute将数据放入到HttpServletRequest对象中,然后转发目标通过 getAttribute方法来取得要共享的数据.而MVC中用的就是Web组件之间的转发啊!真是笨,怎么当时没有想到呢? 下面整理一下getParameter和getAttribute的区别和各自的使用范围. (1)HttpServletRequest类有setAttribute()方法,而没有setParameter()…
最近在看<深入理解Java虚拟机>,书中给了几个例子,比较好的说明了几种OOM(OutOfMemory)产生的过程,大部分的程序员在写程序时不会太关注Java运行时数据区域的结构: 感觉有必要通过几个实在的例子来加深对这几个区域的了解 1)Java堆 所有对象的实例分配都在Java堆上分配内存,堆大小由-Xmx和-Xms来调节,sample如下所示: public class HeapOOM { static class OOMObject{} /** * @param args */ pub…
Java 基础 并发 JVM Java8 新特性 代码优化 网络 操作系统 数据结构与算法 数据库 系统设计 设计模式 常用框架 网站架构 软件底层 其他 Java 基础 <Head First Java>(推荐,豆瓣评分 8.7,1.0K+人评价): 可以说是我的 Java 启蒙书籍了,特别适合新手读当然也适合我们用来温故 Java 知识点. <Java 核心技术卷 1+卷 2>(推荐): 很棒的两本书,建议有点 Java 基础之后再读,介绍的还是比较深入的,非常推荐.这两本书我…
集合是我们在Java编程中使用很广泛的,它就像大海,海纳百川,像万能容器,盛装万物.并且这个大海,万能容器还能够无限变大(假设条件同意). 当这个海.容器的量变得很大的时候,它的初始容量就会显得很重要了,由于挖海.扩容是须要消耗大量的人力物力財力的.相同的道理.Collection的初始容量也显得异常重要. 所以:对于已知的情景.请为集合指定初始容量. public static void main(String[] args) { StudentVO student = null; long…
关于省,市,区的三级联动后台的实现有两种方式: 1:分三次请求各自取出 省 市 区 的数据: 2:一次请求获得所有的数据,并且组装成相依的数据结构到前端: 其中第一种方式: 会导致数据的延迟加载,出现的情况是 省 有数据了,市和区一级还没有数据,导致用户的体验不好:这种方式只有省一级的数据可以提前加载好,市和区一级的数据只用等到选中后才开始请求: 第二种实现方式: 1):查出省--->遍历省,查出省下面的市--->遍历市,查出市下面的区:组好相应的数据结构:这种方式的缺点:多次查询数据库,市和…
环境:Ubuntu16.04 桌面版虚拟机 1.下载安装包:jdk-8u231-linux-x64.tar.gz 链接: https://pan.baidu.com/s/1mmtzKejL1Fd_RQA6ZNb45w 提取码: 34ar 2.将安装包放到/opt文件夹下 sudo cp ~/jdk-8u231-linux-x64.tar.gz /opt 3.在/opt文件夹下创建java文件夹,将文件夹权限更改为当前用户 work@ubuntu:/opt$ sudo mkdir java wor…
1.下载JDK 官网下载: www.oracle.com/technetwork… 百度云下载: pan.baidu.com/s/1LGf3Podz…提取码:s6mg (官网下载步骤) 进入官网 http://www.oracle.com/technetwork/java/javase/downloads/index.html --> 找到对应版本的 Java SE -->点击JDK Download(此处演示Java SE 8u221版本的安装) 找到 Java SE Development…
1·类型加载主动初始化和被动初始化两种,通过访问静态变量或者给静态变量赋值都是可以使类初始化,如果有继承关系,所依赖的父类都会被动初始化. 2·如果在类的静态变量中添加final关键字,那这个变量就会被放入当前类的常量池中,删除类源文件以及class字节码都不会影响常量池中的内容,这个是在“编译阶段”完成的:而且在编译之后会生成“助记符”标记常量:不同助记符所表示的数据类型不同:ldc表示int,float,Stringbipush表示单字节(-128~127)sipush表示短整型常数(-32…
攻防世界MISC进阶之Get-the-key.txt 啥话也不说,咱们直接看题吧! 首先下载附件看到一个压缩包: 我们直接解压,看到一个文件,也没有后缀名,先用 file 看一下文件属性: 发现是是Linux的文件系统数据,我们找个目录将它挂载起来看看, mkdir /tmp/forensic100 mount -o loop forensic100 /tmp/forensic/ 进入该目录,查看如下: 好家伙,这出来了一堆,到底是哪个?? 我们再返回去看题目: 貌似是让我们找一个key.txt…
Java虚拟机的内存管理主要分两点:内存分配以及内存回收.· 一.内存分配图: 注: 所占区域的大小与实际的内存大小比例并无直接关系. 解读: 1.如图,分成两种颜色的内存区域,其中蓝色的是线程隔离的数据区,也就是说每一个线程都有自己的这么一个区域存放自己的数据,而青色区域则是线程共享的,里面的数据为所有线程共有,原则上都有权限访问. 2.程序计数器: 用途:用来给程序导航指路的.这个是一块较小的内存空间,可以看做是当前线程执行的字节码的行号指示器.理解就是虚拟机把java源代码编译成了字节码,…