zoukankan      html  css  js  c++  java
  • JAVA复习重点知识

    1.sql顺序
    顺序4:SELECT *(all),列名,运算符,distinct(除去重复记录)
    顺序1:FROM 表名,视图,别名
    顺序2:WHERE 条件表达式
    顺序3:GROP BY 列名 having 条件表达式
    顺序5:ORDER BY 列名 asc(默认升序)desc(降序)
    2.位运算符号
    按位与运算符(&)
    参加运算的两个数,按二进制位进行“与”运算。
    运算规则:只有两个数的二进制同时为1,结果才为1,否则为0。(负数按补码形式参加按位与运算)
    即 0 & 0= 0 ,0 & 1= 0,1 & 0= 0, 1 & 1= 1。

    按位或运算符(|)
    参加运算的两个数,按二进制位进行“或”运算。
    运算规则:参加运算的两个数只要两个数中的一个为1,结果就为1。
    即 0 | 0= 0 , 1 | 0= 1 , 0 | 1= 1 , 1 | 1= 1 。
    例:2 | 4 即 00000010 | 00000100 = 00000110 ,所以2 | 4的值为 6 。

    异或运算符(^)
    参加运算的两个数,按二进制位进行“异或”运算。
    运算规则:参加运算的两个数,如果两个相应位为“异”(值不同),则该位结果为1,否则为0。
    即 0 ^ 0=0 , 0 ^ 1= 1 , 1 ^ 0= 1 , 1 ^ 1= 0 。
    例: 2 ^ 4 即 00000010 ^ 00000100 =00000110 ,所以 2 ^ 4 的值为6

    总结:
    & 按位与 如果两个相应的二进制位都为1,则该位的结果值为1,否则为0
    | 按位或 两个相应的二进制位中只要有一个为1,该位的结果值为1
    ^ 按位异或 若参加运算的两个二进制位值相同则为0,否则为1
    ~ 取反 ~是一元运算符,用来对一个二进制数按位取反,即将0变1,将1变0
    << 左移 用来将一个数的各二进制位全部左移N位,右补0
    >> 右移 将一个数的各二进制位右移N位,移到右端的低位被舍弃,对于无符号数,高位补0


    3.数组常用方法:
    数组填充:
    Arrays.fill(数组名,值)
    Arrays.fill(数组名,开始下标,结束下标,值)
    数组复制:
    Arraycopy(数组a,开始复制下标,复制到数组b,开始复制下标,复制长度)
    数组比较:
    Arrays.equals(数组1,数组2)
    数组排序:
    Arrays.sort(数组)或者Arrays.sort(数组开始下标,数组结束下标)
    数组中搜索指定元素
    binarySearch(数组,指定元素)
    binarySearch(数组,开始位置,结束位置,指定元素)
    数组转化为字符串:
    toString(数组类型,数组名)

    4.字符串常用方法:
    https://blog.csdn.net/xupt_rl/article/details/89474033
    split()分割字符串返回字符串数组
    trim()去除左右两端空格

    5.Cookie规范:
    Cookie大小上限4KB
    一个服务器最多在客户端浏览器上保存20个Cookie
    一个浏览器最多保存300个CookieCookie是通过HTTP
    请求和响应头在客户端和服务器端传递的

    6.JSP入门
    6.1:java Server Pages是javaweb服务器端的动态资源,他与HTML
    页面的作用是相同的,显示数据 和获取数据
    6.2:JSP=html+Java脚本(代码片段)+JSP动态标签
    6.3:JSP脚本就是java片段
    分为3种:
    <%...%>:java语句
    <%=...%>:java表达式// 与out.print()功能相同,向客户端输出
    <%!...%>:java定义类成员
    6.4原理:
    是特殊的Servlet,当jsp页面首次被访问时,容器Tomcat会先把
    jsp编译成Servlet,然后再去执行Servlet

    7.Cookie概述
    Cookie在HTTP中他表示服务器送给客户端浏览器的Cookie,就是
    一个键和一个值构成的,随着服务器端的响应送给客户端浏览器,
    然后客户端浏览器会把Cookie保存起来,当下一次再访问的时候
    把Cookie再发送给服务器

    Cookie是由服务器创建,然后通过响应发送给客户端的一个键值对,
    客户端会保存Cookie,并会标注出Cookie的来源(哪个服务器的Cookie)
    当客户端向服务器发送请求时会把所有这个服务器Cookie包含在请求中
    发送给服务器,这样服务器就可以识别客户端了。

    8.进程和线程
    8.1:进程包括线程,程序执行状态叫进程,线程可以共享资源,一旦出现
    共享资源,必须注意线程安全
    8.2:分类:
    守护线程:典型就是垃圾回收GC
    用户线程:当JVM中都是守护线程,当前JVM将退出
    8.3线程继承的两种方式:
    1.继承Thread类,重写其中run方法,
    完成了两步:启动子线程,调用子线程的run方法
    2.实现了Runnable接口,实现其中的run方法,但是源码没有start方法
    需要自己手动写Thread 线程名=new Thread(new出来的类名),然
    后再调用这个线程的start方法才能启动线程
    3.线程安全:
    资源共享的操作会出现线程安全问题,比如售票问题
    解决方法:让同一时刻共享数据操作的线程减少为有且只有一个
    3.1同步代码块
    synchronized(同步监视器,即锁){需要被同步的代码}
    3.2同步方法
    只有实现方式的线程可以用,继承方式的线程不可以用
    4.死锁问题
    产生:不同线程分别占用对方需要的同步的资源,都在等待双方
    放弃同步资源

    9.线程通信
    5.1:wait()挂起当前线程并放弃CPU资源,使其他线程可以访问共享资源
    而当前线程重新排队等待资源访问的机会
    5.2:notify()唤醒正在排队中优先级最高的线程,结束等待
    5.3:notifyall()唤醒所有正在排队的线程,通常可用在共享资源操作

    10.单例模式
    1.主要有两种:懒汉式单例,饿汉式单例
    2.单例模式有以下特点:
    2.1:单例类只能有一个实例
    2.2:单例类必须自己创建自己的唯一的实例
    2.3:单例类必须给所有其它对象提供这一实例

    例子:
    懒汉式//在第一次调用的时候才会实例化自己
    public class Singleton{
    private Singleton(){}
    private static Singleton single=null;
    //静态工厂方法
    public static Singleton getInstance(){
    if(single==null){
    single=new Singleton();
    }
    return Single;
    }}


    11.框架各个包或者类含义
    dao:数据访问层,操作数据库,实现增删改查
    jdbc:客户端如何访问数据库的应用程序接口
    pojo:数据对象(实体)
    service:业务逻辑,事务管理
    dao层:dao层叫数据访问层,全称为data access object,属于一种比较底层,比较基础的操作,具体到对于某个表、某个实体的增删改查
    service层:service层叫服务层,被称为服务,肯定是相比之下比较高层次的一层结构,相当于将几种操作封装起来。
    至于为什么service层要使用接口来定义有以下几点好处:
    在java中接口是多继承的,而类是单继承的,如果你需要一个类实现多个service,你用接口可以实现,用类定义service就没那么灵活
    要提供不同的数据库的服务时,我们只需要面对接口用不同的类实现即可,而不用重复地定义类
    编程规范问题,接口化的编程为的就是将实现封装起来,然调用者只关心接口不关心实现,也就是“高内聚,低耦合”的思想。
    Servlet:控制层,接收请求和向客户端响应的中间层,servlet是一种服务器端的java应 用程序
    他往往用来处理请求的。他的外一层就是View、他的一层就是Service(Servlet往往调用他做逻辑判断的操作)
    原始的Servlet的生命周期
    servlet在第一次访问的时候就会被初始化
    servlet对象一旦被创建就会驻留在内存中,当服务器关闭或者web应用被e69da5e6ba903231313335323631343130323136353331333332633065移除的时候servlet对象才销毁
    1:当servlet被创建的时候那么 servlet就会被初始化 调用init方法
    2:任何请求来自客户端,service方法就会被自动调用
    3:当servlet从服务器被移除的时候 distroy方法将会被调用


  • 相关阅读:
    0008_Python变量
    shiro Filter过滤器管理197
    oracle 将一个数据库(A)的表导入到另一个数据库197
    top命令使用197
    SpringBoot下载Excel文件,解决文件损坏问题197
    java元注解197
    Content-Type
    centos7 下修改网络配置
    mint 20 install NVIDIA driver for 3080 via run
    使用numpy rot90操作image后,opencv cv2.rectangle 报错
  • 原文地址:https://www.cnblogs.com/almm/p/13026713.html
Copyright © 2011-2022 走看看