防火墙,构造函数,构件和组件区别,dbutil,dao,javabean,static,linux init
1.防火墙
防火墙是通过有机结合各类用于安全管理与筛选的软件和硬件设备,帮助计算机网络于其内、外网之间构建一道相对隔绝的保护屏障,以保护用户资料与信息安全性的一种技术。
服务访问规则,验证工具,包过滤,应用网关;网络通信和数据包要经过防火墙.
2.构造函数
无参构造函数,有参构造函数,私有无参构造
https://baijiahao.baidu.com/s?id=1632060092493911390&wfr=spider&for=pc
https://www.cnblogs.com/ibelieve618/p/6364541.html
3.构件和组件区别
构件是系统中实际存在的可更换部分,它实现特定的功能,符合一套接口标准并实现一组接口。构件代表系统中的一部分物理实施,包括软件代码或其等价物。
组件可以有自己的属性和方法。属性是组件数据的简单访问者。方法则是组件一些简单而可见的功能。对数据和方法的简单封装。
模块化:是从代码逻辑的角度进行划分的(方便代码的分层开发,保证每个功能模块的职能单一);
组件化:是从ui界面的角度进行划分的,方便ui组件的重用,(eg:一个页面拆成好多组件)(前端组件化)
4.DBUtil,Dao
DBUtil是什么及作用
DBUtil是Apache提供的一个开源的JDBC工具类库,是java编程中数据库操作实用工具,小巧简单。
DBUtil封装了对JDBC的操作,简化了JDBC操作,可以让我们少些代码。
1.对数据表的读操作
可以将结果转换成List、Array、Set等集合。
2.对数据表的写操作
只需要写SQL语句
3.可以使用数据源,使用JNDI,数据库连接池等技术来优化程序性能。
数据访问层dao DAO(Data Access Object)
https://www.cnblogs.com/max-hou/p/12199119.html
表现层(jsp)、持久层(类似dao)、业务层(逻辑层、service层)、模型(javabean)、控制层(action)
POJO(Plain Old Java Object)这种叫法是Martin Fowler、Rebecca Parsons和Josh MacKenzie在2000年的一次演讲的时候提出来的。按照Martin Fowler的解释是“Plain Old Java Object”,从字面上翻译为“纯洁老式的java对象”,但大家都使用“简单java对象”来称呼它。
POJO的内在含义是指那些:
有一些private的参数作为对象的属性,然后针对每一个参数定义get和set方法访问的接口。
没有从任何类继承、也没有实现任何接口,更没有被其它框架侵入的java对象。
5.JavaBean
JavaBean是一个遵循特定写法的Java类,它通常具有如下特点:
- 这个Java类必须具有一个无参的构造函数
- 属性必须私有化。
- 私有化的属性必须通过public类型的方法暴露给其它程序,并且方法的命名也必须遵守一定的命名规范。
https://www.cnblogs.com/xdp-gacl/p/3871730.html
6.static
https://www.cnblogs.com/dolphin0520/p/3799052.htmlpublic class Test { Person person = new Person("Test");//4 static{ System.out.println("test static");//1 } public Test() { System.out.println("test constructor");//6 } public static void main(String[] args) { new MyClass(); } } class Person{ static{ System.out.println("person static");//3 } public Person(String str) { System.out.println("person "+str);//5//8 } } class MyClass extends Test { Person person = new Person("MyClass");//7 static{ System.out.println("myclass static");//2 } public MyClass() { System.out.println("myclass constructor");//9 } }
类似地,我们还是来想一下这段代码的具体执行过程。首先加载Test类,因此会执行Test类中的static块。接着执行new MyClass(),而MyClass类还没有被加载,因此需要加载MyClass类。在加载MyClass类的时候,发现MyClass类继承自Test类,但是由于Test类已经被加载了,所以只需要加载MyClass类,那么就会执行MyClass类的中的static块。在加载完之后,就通过构造器来生成对象。而在生成对象的时候,必须先初始化父类的成员变量,因此会执行Test中的Person person = new Person(),而Person类还没有被加载过,因此会先加载Person类并执行Person类中的static块,接着执行父类的构造器,完成了父类的初始化,然后就来初始化自身了,因此会接着执行MyClass中的Person person = new Person(),最后执行MyClass的构造器。
test static myclass static person static person Test test constructor person MyClass myclass constructor
7.linux init
运行级就是操作系统当前正在运行的功能级别。这个级别从1到6 ,具有不同的功能。
# 0 - 停机(千万不能把initdefault 设置为0 )
# 1 - 单用户模式
# 2 - 多用户,没有 NFS
# 3 - 完全多用户模式(标准的运行级)
# 4 - 没有用到
# 5 - X11 (xwindow)
# 6 - 重新启动 (千万不要把initdefault 设置为6 )