Java

最新Mysql大厂面试必会的34问题

1、mysql的隔离级别 2、MYSQL性能优化 常用5种方式 3、索引详解 1、何为索引,有什么用? 2、索引的优缺点 4、什么情况下需要建索引? 5、什么情况下不建索引? 6、索引的底层数据结构 1、hash表 Hash 冲突 问题 既然哈希表这么快, 为什么MySQL 没有使用其作为索引的数据... ... »

甲骨文严查Java授权,换openJDK要避坑

背景 外媒The Register报道,甲骨文稽查企业用户,近期开始将把过去看管较松散的Java授权加入。 甲骨文针对标准版Java(Java SE)有2种商业授权。2019年4月甲骨文宣布Java SE用户需要付费订阅,才能取得授权及更新,包括Java SE 7、8或11、12。但到同年9月该公司 ... »

xiexj

《手把手教你》系列基础篇(九十一)-java+ selenium自动化测试-框架设计基础-Logback实现日志输出-下篇(详解教程)

1.简介 为了方便查看和归档:(1)不同包的日志可能要放到不同的文件中,如service层和dao层的日志;(2)不同日志级别:调试、信息、警告和错误等也要分文件输出。所以宏哥今天主要介绍和分享的是:使用logback输出日志到不同文件。废话不说直入主题。 2.第一种方法:根据包输出 根据包输出,通 ... »

java 类文件类型

我们所看到的Java字节码是被封装在一个类文件中(扩展名为.class)。在这个教程中,就让我们来看看类文件的内部构造。数据是如何被写入类文件以及类文件的格式是怎样的呢,让我们首先图解看一看Java类 »

vn2019

java中int的最值解析

java中int的最大值为十进制的2147483647,也就是java能进行操作的最大数值,超出就会显示不正常。针对以下问题进行讨论。 1.最大值为什么是2147483647? java中int类型占4个byte,1个byte有8个bit,也就是32个字节,也叫32位。在位的运算中,最高位为该值正负 ... »

Android C/C++层hook和java层hook原理以及比较

作者:Denny Qiao(乔喜铭),云智慧/架构师。 云智慧集团成立于2009年,是全栈智能业务运维解决方案服务商。经过多年自主研发,公司形成了从IT运维、电力运维到IoT运维的产业布局,覆盖ITOM、ITOA、ITSM、DevOps以及IoT几大领域,为金融、政府、运营商、能源、交通、制造等上百 ... »

cloudwise

netty系列之:netty中的核心MessageToMessage编码器

简介 在netty中我们需要传递各种类型的消息,这些message可以是字符串,可以是数组,也可以是自定义的对象。不同的对象之间可能需要互相转换,这样就需要一个可以自由进行转换的转换器,为了统一编码规则和方便用户的扩展,netty提供了一套消息之间进行转换的框架。本文将会讲解这个框架的具体实现。 框 ... »

《手把手教你》系列基础篇(九十)-java+ selenium自动化测试-框架设计基础-Logback实现日志输出-中篇(详解教程)

1.简介 上一篇宏哥介绍是如何使用logback将日志输出到控制台中,但是如果需要发给相关人需要你拷贝出来,有时候由于控制台窗口的限制,有部分日志将会无法查看,因此我们还是需要将日志输出到文件中,因此今天主要介绍和分享如何使用logback将日志输出到文件中。 上一篇测试环境已经准备好了,今天我们直 ... »

写了个开源小中间件——运行时动态日志等级开关

项目地址,走过路过可以点个star :)https://github.com/saigu/LogLevelSwitch 1.为什么需要LogLevelSwitch 随着业务规模不断扩大,每一次线上故障的快速定位都是对开发同学的巨大挑战。 通过日志进行业务关键逻辑的输出,是定位问题的有效手段之一。但是 ... »

什么?你们公司还没有将JVM初始和最大堆内存大小设置为相同值?

微信公众号:Java大家族 JVM将初始和最大内存大小设置为相同值的好处 启动应用程序时,我们指定初始内存大小和最大内存大小。对于在 JVM(Java 虚拟机)上运行的应用程序,初始和最大内存大小通过 “-Xms” 和 “-Xmx” 参数指定。如果 Java 应用程序在容器上运行,则通过“-XX:I ... »

面试突击40:线程休眠的方法有几种?

在 Java 中,让线程休眠的方法有很多,这些方法大致可以分为两类,一类是设置时间,在一段时间后自动唤醒,而另一个类是提供了一对休眠和唤醒的方法,在线程休眠之后,可以在任意时间对线程进行唤醒。 PS:休眠是指让某个线程暂停执行(进入等待状态),唤醒指的是让某个暂停的线程继续执行。 线程休眠的方法有以 ... »

Java基础知识复习

Java基础知识复习 一、变量 概念:存储在计算机内存中的一块位置,是存储数据的基本单位 组成部分:数据类型,变量名称,变量值 定义变量的步骤: 声明 赋值(变量的值必须和数据类型一致) # 定义方式一(声明并赋值) String s = 'Holle world!'; # 定义方式二(先声明后赋值 ... »

nacjackson

初学Java时没有理解的一些概念

背景 之前学Java属于赶鸭子上架,草草学习基础语法便直接做课程作业,许多概念问题仍不清楚,故在此梳理一下,主要参考廖雪峰和互联网资料。 Java运行方式与JVM Java是介于编译型语言(C++)和解释型语言(Python)之间的。所有Java代码先被编译为.class文件,然后在Java虚拟机( ... »

reashal Java

Java语言基础

###(一)Java编译运行过程 编译期:Java源文件经过编译生成.class字节码文件 运行期:JVM加载.class并运行.class 特点:跨平台,一次编译到处使用(跨平台特性如下图) ###(二)JVM、JRE、JDK JVM:(Java Virtual Machine),Java虚拟机 ... »

feixiangdezhu java

Java8 新特性,打破你对接口的认知

Java 8 之前,接口里面只能写抽象方法,不能写实现方法 Java 8 开始是可以有方法实现的,可以在接口中添加默认方法和静态方法 默认方法用 default 修饰,只能用在接口中,静态方法用 static 修饰,并且接口中的默认方法、静态方法可以同时有多个。 为什么要用接口默认方法 举一个很现实 ... »

yang9

Confluent之Kafka Connector初体验

LinkedIn数据驱动主要有两点领悟,其一是强调动态数据有效性要远远大于静态数据,其二是要利用所有数据化信息而不仅仅是交易核心数据。 本篇主要从Kafka诞生背景开始,一步步引出Kafka的Connect组件,而Confluent也免费开源100多种Connector,最后用一个完整的Source... ... »

JVM内存管理面试常见问题全解

一、什么是JVM 1、jvm的三个组成部分 二、类加载系统 1、类的加载过程 2、类加载器 三、双亲委派机制 1、双亲委派机制介绍 2、为什么要双亲委派机制 3、双亲委派机制的核心源码 4、全盘委托机制 5、自定义加载器实现双亲委托机制 6、自定义加载器打破双亲委派机制 四、运行时数据区 1、运行时... ... »

【Java分享客栈】从线上环境摘取了四个代码优化记录分享给大家

前言 因为前段时间新项目已经完成目前趋于稳定,所以最近我被分配到了公司的运维组,负责维护另外一个项目,包含处理客户反馈的日常问题,以及对系统缺陷进行优化。 经过了接近两周的维护,除了日常问题以外,代码层面我一共处理了一个BUG,优化了三个问题,我把这四个问题归纳成了四段编码小技巧分享给大家,希望能有 ... »