Java常见混淆点

  • true、false、null不是Java关键字,但严格来说,true、false是boolean常量;

  • 内部类理解成类的成员,成员有4种访问权限: private、protected、public以及默认的访问权限;

  • java中采用GB2312或GBK编码方式时,一个中文字符占2个字节,而char是2个字节,所以char foo='中'是对的;

  • BeanFactory是所有Spring Bean的容器根接口,其给IoC容器提供了一套完整的规范。FactoryBean是 一种创建Bean的方式,是对Bean的一种扩展;

  • 织入是将增强添加对目标类具体连接点上的过程。AOP像一台织布机,将目标类、增强或引介通过AOP这台织布机天衣无缝地编织到一起。根据不同的实现技术,AOP有三种织入的方式:
    a、编译期织入,这要求使用特殊的Java编译器;
    b、类装载期织入,这要求使用特殊的类装载器;
    c、动态代理织入,在运行期为目标类添加增强生成子类的方式;

Spring采用动态代理织入,而AspectJ采用编译期织入和类装载期织入。

  • Spring容器创建Bean对象的方法有三种方式,分别是:用构造器来实例化,使用静态工厂方法实例化和使用实例工厂方法实例化。

  • @Autowired是Spring提供的注解,@Resource是JDK提供的注解。它们的区别是,@Autowired只能按类型注入,@Resource默认按名称注入,也支持按类型注入。
    1.@Autowired注解是Spring提供的,而@Resource注解是J2EE本身提供的
    2.@Autowird注解默认通过byType方式注入,而@Resource注解默认通过byName方式注入,也可以通过byType方式注入。
    3.@Autowired注解注入的对象需要在IOC容器中存在,否则需要加上属性required=false,表示忽略当前要注入的bean,如果有直接注入,没有跳过,不会报错

  • JDK动态代理,是Java提供的动态代理技术,可以在运行时创建接口的代理实例。Spring AOP默认采用这种方式,在接口的代理实例中织入代码。

  • CGLib动态代理,采用底层的字节码技术,在运行时创建子类代理的实例。当目标对象不存在接口时,Spring AOP就会采用这种方式,在子类实例中织入代码。

  • 类变量在不设置初始值时,会进行默认值赋值,而局部方法中声明的变量则必须进行初始化,他不会进行默认值赋值。

  • #{}匹配的是一个占位符,相当于JDBC中的一个?,会对一些敏感的字符进行过滤,编译过后会对传递的值加上双引号,因此可以防止SQL注入问题。
    ${}匹配的是真实传递的值,传递过后,会与sql语句进行字符串拼接。 ${}会与其他sql进行字符串拼接,不能预防sql注入问题。

  • static块和方法不能出现this和super,实例对象也可以调用静态方法。

  • synchrozied关键字称作同步,主要用来给方法、代码块加锁,被加锁的代码段,同一时间内多线程同时访问同一对象的加锁方法/代码块时,只能有一个线程执行能执行方法/代码块中的代码,其余线程必须等待当前线程执行完以后才执行该方法/代码块;
    volatile关键字1.保证了不同线程对该变量操作的内存可见性.(当一个线程修改了变量,其他使用次变量的线程可以立即知道这一修改)。2.禁止了指令重排序;
    Lock接口提供了与synchronized关键字类似的同步功能,但需要在使用时手动获取锁和释放锁;transient关键字 简单地说,就是让某些被修饰的成员属性变量不被序列化;
    volatile关键字和transient关键字不能用来处理线程安全。

  • SpringBoot使用@Value注解读取yaml文件中配置信息

  • MySQL中Having子句(Having子句需要和GROUP BY子句结合,才能使用),先分组,再筛选

  • 堆一定是完全二叉树,堆中节点的值都大于等于(或小于等于)其子节点的值,堆中如果节点的值都大于等于其子节点的值,称为大顶堆,如果都小于等于其子节点的值,称为小顶堆。

  • DoS攻击是拒绝服务攻击,目的: 耗尽被攻击对象的资源,使其无法提供正常的服务;

  • DDoS攻击。又叫分布式拒绝服务攻击。攻击者将多台受控制的计算机联合起来向目标计算机发起DOS攻击,它是一种大规模协作的攻击方式。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

深度学习推荐算法

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值