防火墙,构造函数,构件和组件区别,dbutil,dao,javabean,static,linux init 表现层(jsp)、持久层(类似dao)、业务层(逻辑层、service层)、模型(javabean)、控制层(action)

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.html
public 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 )  

猜你喜欢

转载自www.cnblogs.com/gdf456/p/12912193.html