• 2019年一次java知识点总结


    java基础

    安全性

    java不支持指针,不能访问程序以外的资源

    面向对象

    • 封装:代码和数据结合起来,封装单元是类。
    • 多态:允许一个接口访问一类动作,接口有多个实现。
    • 继承:一个对象获取另一个对象属性,方法。

    数据类型

    类型 占用2进制位数 范围
    byte 8 -27~2-1 (128)
    short 16 -215~215-1 (32768)
    int 32 -231~231-1 (214...)
    long 64 -263~263-1 (922...)
    float 32 -
    double 64 -
    char 8 -

    关键字

    标志符

    开头:字母,美元符,下划线
    后面:数字,字母,美元符,下划线

    切记不能以数字开头

    集合与数据结构

    IO和网络

    多线程(并发与锁,死锁)

    异常

    简单算法,复杂度

    JVM

    类文件结构

    类加载

    字节码执行引擎

    • MethodHandle 模拟 invokevirtual 实现动态方法调用
    import java.lang.invoke.MethodHandle;
    import java.lang.invoke.MethodHandles;
    import java.lang.invoke.MethodType;
    
    /**
     * @author :Created By huan
     * @date :Created in 11/13/19 12:16 PM
     */
    public class MethodHandleTest {
    
        static class ClassA {
            public void println(String s) {
                System.out.println("ClassA:" + s);
            }
        }
    
        public static void main(String[] args) throws Throwable {
            Object obj = System.currentTimeMillis() % 2 == 0 ? System.out : new ClassA();
            getPrintlnMH(obj).invokeExact("hello");
    
        }
    
        public static MethodHandle getPrintlnMH(Object reveiver) throws NoSuchMethodException, IllegalAccessException {
    
            MethodType methodType = MethodType.methodType(void.class, String.class);
            return MethodHandles.lookup().findVirtual(reveiver.getClass(), "println", methodType).bindTo(reveiver);
        }
    }
    
    

    java内存模型

    对象监听器字节码

    垃圾回收

    内存分析命令

    常用框架,结合设计模式

    spring,springMVC 和 struts(设计和漏洞)

    mybaits,habirnate 和 JPA

    dubbo

    spring boot

    spring cloud

    中间件

    redis

    zookeeper

    kafka

    官网

    mq

    JMX

    mycat

    分布式

    工程的设计和拓扑图

    UML和数据库设计

    服务拆分和集群

    分库分表

    事务

    备份

    网络,安全

    TCP,UDP

    HTTP、HTTP2

    其他协议(RTMP ,STMP,WEBRTC)

    渗透测试和防护

    linux

    常用命令

    脚本编程

  • 相关阅读:
    格式化代码
    hexdump命令
    shell中+,*,[:space:]的用法
    Linux下安装Android的adb驱动-解决不能识别的问题
    android launcher3 home页简易分析
    LINUX 内核代码 errno 错误代码提示 /include/asm/errno.h
    关于mtk Android打开串口权限问题
    关于android MTK相机L版本,切换屏幕比例后,分辨率随之改变,但重新进入相机后原有分辨率不再生效问题
    关于android应用闪屏的几种情况
    Android 笔记
  • 原文地址:https://www.cnblogs.com/lanqie/p/10440974.html
Copyright © 2020-2023  润新知