自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(22)
  • 收藏
  • 关注

原创 MFC多线程技术

线程状态用类_AFX_THREAD_STATE描述,模块状态用类_AFX_MODULE_STATE描述,模块-线程状态用类_AFX_MODULE_THREAD_STATE描述。在线程执行查找文件任务的时候,如果找到的是目录就将它添加到列表中,若找到的是文件,就用自定义CheckFile函数进行比较,判断是否符合查找条件,若符合就打印出来,显示给用户。在MFC中,一般用全局函数AfxBeginThread()来创建并初始化一个线程的运行,该函数有两种重载形式,分别用于创建工作者线程和用户界面线程。

2023-10-26 13:01:02 470

原创 jvm系列(七)jvm调优-工具篇

VisualVM 是一个工具,它提供了一个可视界面,用于查看 Java 虚拟机 (Java Virtual Machine, JVM) 上运行的基于 Java 技术的应用程序(Java 应用程序)的详细信息。VisualVM 对 Java Development Kit (JDK) 工具所检索的 JVM 软件相关数据进行组织,并通过一种使您可以快速查看有关多个 Java 应用程序的数据的方式提供该信息。您可以查看本地应用程序以及远程主机上运行的应用程序的相关数据。

2023-10-25 23:58:10 107

原创 JVM分析工具

JVM在运行过程中,我们可以利用各种工具对JVM进行分析,这是性能调优的利器。可以通过各种工具了解在系统运行过程中,在JVM底层到底发生了什么。JVM分析工具一般分为两种,一种是命令行工具,一种是图形界面工具。

2023-10-18 02:59:05 147 1

原创 JVM内存泄漏排查一篇就懂

java.lang.OutOfMemoryError:是指程序在申请内存时,没有足够的内存空间供其使用,出现OutOfMemoryError。产生原因产生该错误的原因主要包括:JVM内存过小。程序不严密,产生了过多的垃圾。一般情况下,在程序上的体现为:内存中加载的数据量过于庞大,如一次从数据库取出过多数据。集合类中有对对象的引用,使用完后未清空,使得JVM不能回收。代码中存在死循环或循环产生过多重复的对象实体。使用的第三方软件中的BUG。启动参数内存值设定的过小。

2023-10-18 00:52:32 421 1

原创 JVM 优点与缺点的深入分析

实际上,由于Java和OpenJDK项目的开源,我们正在看到越来越多的平台的衍生,因此JVM的移植性也将越来越棒。还有一个MLVM(multiple language VM)项目,好比是新特性的清算机构,是一个许多企业应用的开发者试图添加应用的地方,而这些应用正是他们想在JVM中看到的。那些为JVM编写高性能代码的开发者会觉得经常被JVM的black box特性所折磨,一旦你加载你的字节码,你就觉得像是摇动老虎机的游戏手柄一样忐忑,不知道结果如何,black box就是意味着不可知。

2023-10-18 00:34:11 107 1

原创 JDK、JRE和JVM之间的关系

JDK(Java Development Kit)是针对Java开发员的产品,是整个Java的核心,包括了Java运行环境JRE、Java工具和Java基础类库。JRE(Java Runtime Environment)是运行JAVA程序所必须的环境的集合,包含JVM标准实现及Java核心类库。JVM(Java Virtual Machine)即Java虚拟机,是整个java实现跨平台的最核心的部分,能够运行以Java语言写作的软件程序。

2023-10-13 12:14:29 30

原创 java面试题栈

Java EE平台构建于Java SE平台之上,Java EE平台提供一组API和运行环境来开发和运行大规模的,多层的,可扩展的,可靠的和安全的网络应用程序。前言 平时的工作中经常碰到很多疑难问题的处理,在解决问题的同时,有一些工具起到了相当大的作用,在此书写下来,一是作为笔记,可以让自己后续忘记了可快速翻阅,二是分享,希望看到此文的同学们可以拿出自己日常觉得帮助很大的工具,大家一起进步。

2023-10-12 00:09:05 32

原创 java面试题及答案2020 持续更新中

海量数据中查找一个单词,分布式计算 map reduce,或者用 hsah 映射筛选部分结果5、java 的抽象类和接口区别、java 的 hashmap,java 的内存模型,分区,分代垃圾回收算法。多线程:怎么实现线程安全,各个实现方法有什么区别,volatile 关键字的使用,可重入锁的理解,Synchronized 是不是可重入锁。14、final,finall,finalize 三者的区别?数据库的备份和恢复怎么实现的,主从复制怎么做的,什么时候会出现数据不一致,如何解决。

2023-10-11 17:52:42 28 1

原创 java面试资料整理(高级必备)

又到了换工作的季节,最近系统的整理了下java面试相关的学习资料,包含了java核心知识点、数据结构和算法、计算机基础、版本控制工具和面试经验分享等知识。在这里分享给大家,希望大家能够拿到心意公司的offer。

2023-10-11 13:39:04 48 1

原创 java面试之常见场景题

首先将整个文件分成许多份,比如说m份,划分的依据就是使得每一份的大小都能放到内存里。取这m份数据的最小元素,进行排序,输出排序后最小的元素到结果中,同时从该元素所在子串中读入一个元素,直到所有数据都被输出到结果中为止。优化2:在一次分割结束后,可以把与Key相等的元素聚在一起,继续下次分割时,不用再对与key相等元素分割。随机(rand函数)、固定(队首、队尾)、三数取中(队首、队中和队尾的中间数)优化1:当待排序序列的长度分割到一定大小后,使用插入排序。优化3:优化递归操作。

2023-10-11 12:39:21 447 1

原创 Java进阶之路-目录

一句SQL协助理解 聚集索引,联合索引,回表,覆盖索引。ZooKeeper是什么,以及能够做什么,怎么做到的。有没写清楚的地方可以再评论或者直接私信问我。2020年8月26日16:29:34 新增。2020年8月21日16:52:32 新增。2020年5月23日22:30:57 新增。EXPLAIN 分析查询执行计划。更新日志(记录近三次操作)

2023-10-11 11:49:18 35 1

原创 Java实现多线程轮流打印1-100的数字

在JVM中每个线程读取变量到cache中时相互都是不可见的,也就是java五大内存区中的程序计数器区域对于每个线程都是独立的不共享的,只有堆内存区和方法区是对所有线程都是共享的。当线程1读取了flag和i的值,并对其进行修改的时候,线程2并发运行,并不知道flag和i值已经改变,导致多线程数据不一致的情况,所以加了volatile后,当线程读取变量进行修改后会“通知”其它线程这个值已经进行了修改。(一个线程打印奇数,一个线程打印偶数)于是大家会想到可以通过加锁实现,但是这样的效率是不是不高?

2023-10-10 13:14:17 826 1

原创 Java多线程常见面试题

当线程 A 持有独占锁a,并尝试去获取独占锁 b 的同时,线程 B 持有独占锁 b,并尝试获取独占锁 a 的情况下,就会发生 AB 两个线程由于互相持有对方需要的锁,而发生的阻塞现象,我们称为死锁。防止死锁方法:尽量使用 tryLock(long timeout, TimeUnit unit)的方法(ReentrantLock、ReentrantReadWriteLock),设置超时时间,超时可以退出防止死锁。尽量使用 Java. util. concurrent 并发类代替自己手写锁。

2023-10-10 12:28:38 29 1

原创 java入门-数组进阶

2.数组中元素的查找。

2023-10-10 10:05:44 43 1

原创 Centos7下安装MySQL详细步骤

可参考这位博主解决方法:https://blog.csdn.net/qq_44895681/article/details/104937426ops_request_misc=&request_id=&biz_id=102&utm_term=centos7%E4%B8%8B%E5%AE%89%E8%A3%85MySQL%E6%8F%90%E7%A4%BAOperating%20sys&utm_medium=distribute.pc_search_result.none-task-blog-2。

2023-10-10 00:00:32 521 1

原创 CentOS7下使用YUM安装MySQL5.6

*注意:**在新版本的CentOS7中,默认的数据库已更新为了Mariadb,而非 MySQL,所以执行 yum install mysql 命令只是更新Mariadb数据库,并不会安装 MySQL。mysql5.6 安装完成后,它的 root 用户的密码默认是空的,我们需要及时用 mysql 的 root 用户登录(第一次直接回车,不用输入密码),并修改密码。(4)再次查看已安装的 Mariadb 数据库版本,确认是否卸载完成。/var/lib/mysql   mysql数据库的数据库文件存放位置。

2023-10-09 23:59:47 270 1

原创 CentOS7 64位安装mysql教程,亲测完美

安装这个包后,会获得两个mysql的yum repo源:/etc/yum.repos.d/mysql-community.repo,/etc/yum.repos.d/mysql-community-source.repo。这里我们可以看到上面的命令和以前常用的快速导入和导入命令有所不同了,需要加载我们配置的MYSQL配置文件,这个“/etc/my.cnf”要根据我们实际的路径修改。1、我们需要修改数据库配置文件,这个要看我们数据库的配置的,有些是在/etc/my.cnf,有些是/etc/my.conf。

2023-10-09 23:58:59 69 1

原创 2023最新的Java八股文合集来了,彻底解决一线大厂面试难题

纵观今年的技术招聘市场,!即便遭受 Go 等新兴语言不断冲击,依旧岿然不动。,Java 程序员的群体也最为庞大,有着,彼此之间都有更多的选择。换句话说,也是最修罗场的!所以,要想,咱就一定要做好准备,把那些必考点、套路都给吃透了!包含的知识点也是比较广比较多的:**java 基础、JVM、多线程、MySQL、spring、springboot、springcloud、dubbo、mybatis、redis、网络 IO、Linux、MQ、zookeeper、netty、大数据、算法、项目、设计模式等等。

2023-10-09 23:11:43 347 1

原创 Java面试--垃圾回收机制(GC)

大部分对象在Eden区中生成。当任何其它变量被赋值为这个对象的引用时,计数加1(a = b,则b引用的对象实例的计数器+1),但当一个对象实例的某个引用超过了生命周期或者被设置为一个新值时,对象实例的引用计数器减1。可达性分析算法是从离散数学中的图论引入的,程序把所有的引用关系看作一张图,从一个节点GC ROOT开始,寻找对应的引用节点,找到这个节点以后,继续寻找这个节点的引用节点,当所有的引用节点寻找完毕之后,剩余的节点则被认为是没有被引用到的节点,即无用的节点,无用的节点将会被判定为是可回收的对象。

2023-10-09 22:51:27 249

原创 Java面试宝典(超级详细)

== 对于基本类型来说是值比较,对于引用类型来说是比较的是引用;而 equals 默认情况下是引用比较,只是很多类重新了 equals 方法,比如 String、Integer 等把它变成了值比较,所以一般情况下 equals 比较的是值是否相等。

2023-09-15 18:27:57 631 1

原创 java面试⑤前端部分

什么是AJAX?–》异步的JavaScript和XML作用是什么?–》通过AJAX与服务器进行数据交换,AJAX可以使用网页实现局部更新,这意味着可以在不刷新整个网页的情况下,对网页的某部分进行更新。怎么来实现AJAX?–》使用XmlHttpRequest这个对象可以异步向服务器发送请求,获取响应,完成局部更新,Open send responseText/responseXML局部响应。使用场景?–》登录失败时不跳转页面,注册时提示用户名是否存在,二级联动等等使用场景。

2023-09-15 18:04:43 45 1

原创 Java进阶-常用API

为帮助您在CSDN创作的文章获得更多曝光和关注,我们为您提供了专属福利:已注册且未在CSDN平台发布过文章的用户,9月1日—9月30日期间发布首篇文章可享大额首篇流量券扶持,且发布首篇文章后30日内,享连续每日流量券扶持;已注册且未在CSDN平台发布过文章的用户,在8月1日—8月30日期间发布过首篇,可自9月1日起,享连续30天每日流量券扶持;更多福利介绍详见https://mp.csdn.net/mp_blog/manage/traffic如果你想学习如何使用Markdown编辑器, 可以仔细阅读这篇

2023-09-14 22:34:21 62 1

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除