- 博客(32)
- 收藏
- 关注
原创 关于二叉树深度和节点数的关系
https://www.jianshu.com/p/bce7efe8d45e 看了一篇文章,来自这个链接,提到了一个公式。深度为k,有n个结点的二叉树,当且仅当其每一个结点都与深度为k的满二叉树中编号从1到n的结点一一对应,该二叉树称为完全二叉树。2^{k-1} ≦n≦2^k-1。指正一下,这个公式是错误的,应该是2^k ≦n≦2^{k+1}-1。比如说树的高度是1,那么最少2个节点(一个根节点+一个左子节点),最多是3个节点(1个根节点+2个子节点),2≤n≤2*2-1,而不是2的0次方1≤n≤1.
2024-04-28 01:52:29
1058
原创 U盘无法识别
U盘在电脑里读不出来,下面有U盘图标,【我的电脑】里就是找不到U盘盘符,但把这个U盘放其他电脑上又可以读取。插上U盘 打开设备管理器 找到移动磁盘的图标, 里边会有大容量设备,删掉显示的就行了。这种情况插入u盘然后在设备管理里删掉设备重新插拔试试。u盘显示制造商不可用,型号编码不可用,描述不可用。控制面板可以显示设备,但是盘符无法读出来。
2024-02-29 12:41:52
702
原创 关于java系统变量获取源码
结果中包含jre/lib下jar包、项目打包之后classes下文件、mavan配置依赖的jar包。查看源码,寻找获取方式。native方法,需要查看jvm源码。
2023-03-29 17:12:05
159
原创 Eclipse中JSP文件中文乱码解决
步骤一 https://blog.youkuaiyun.com/thinkingcao/article/details/52637123步骤二修改jsp页面中所有编码格式,使用查找替换功能,替换为utf-8
2023-03-20 11:20:59
230
原创 oracle11g建表使用GENERATED和seq报错ORA-02000:missing ALWAYS keyword或ORA-00984: column not allowed here
oracle建表报错:ORA-02000:missing ALWAYS keyword。最终发现自增主键也是12c才有的功能,总结,只能使用触发器实现。开发环境,oracle11g。
2023-03-01 18:10:53
865
1
原创 请你说说进程间的通信方式
得分点: 管道、信号、消息队列、共享内存、内存映射、信号量、Socket标准答案:进程间通信主要包括:管道、命名管道、信号、消息队列、共享内存、内存映射、信号量、Socket:1、管道 管道也叫无名管道,他是unix系统ipc(进程间通信)的最古老形式,所有的unix系统都支持这种通信机制斜体样式。管道本质其实是内核中为何的一块内存缓冲区,Linux系统中通过pipe()函数创建管道,会生成两个文件描述符,分别对应管道的读端和写端。无名管道只能用于具有亲缘关系的进程间通信。2、命名管道 匿名管道
2022-06-11 00:23:28
108
原创 说说怎么保证线程安全
得分点 原子类 volatile 锁标准回答Java 保证线程安全的方式有很多,其中较为常用的有3种,按照资源占用情况由轻到重排列,这三种保证线程安全的方式分别是原子类、volatile、锁。JDK从1.5开始提供了java.util.concurrent.atomic包,这个包中的原子操作提供了一种用法简单、性能高效、线程安全的更新一个变量的方式。在atomic包里一共提供了17个类,按功能可以归纳为4中类型的原子更新方式,分别是原子更新基本类型、原子更新引用类型、原子更新属性、原子更新数组。无论原
2022-06-10 23:10:47
1997
原创 【面试题】请你说说多线程
线程是操作系统调度的最小单元,它可以让一个进程并发的处理多个任务,也叫轻量级进程。所以,在一个进程励可以创建多个线程,这些线程都拥有各自的计数器、堆栈、局部变量。并且能够共享进程内的资源。由于共享资源,处理器便可以在这些线程之间快速切换,从而让使用者感觉这些线程在同时执行。总的来说,操作系统可以同时执行多个任务,每个任务就是一个进程。进程可以同时执行多个任务,每个任务就是一个线程。一个程序运行之后至少有一个进程,而一个进程可以包含多个线程,但至少要包含一个线程。使用多线程会给开发人员带来显著的好处,而使用多
2022-06-10 19:51:51
235
原创 Could not create the Java Virtual Machine
错误原因:使用java -v;应该使用 java -version.这样便不会报错
2022-05-03 09:22:27
705
原创 cygwin在线安装软件
步骤如下:找到下载的setup-x86_64.exe文件所在目录地址栏输入cmd,打开windows cmd窗口执行下载命令,例如 ./setup-x86_64 -q -P autoconf -P unzip -P zip如果希望下载make 则输入,setup-x86_64 -q -P make打开cygwim终端,执行bash查看软件是否安装完成 cygcheck -c -d参考 https://www.cnblogs.com/ykpkris/p/15058656.html...
2022-05-02 23:00:38
428
原创 工具类静态方法获得的变量赋值给另一个类的变量
无法直接赋值,原因待查找。可以讲方法获取值放到类的代码块或者静态代码块中。如下所示:public class StaticTest { public static String packageName = "org.yz.抽象工厂模式.抽象工厂模式02"; public static String db; static Properties properties; static { properties = PropertiesUtil.getPrope
2022-04-24 20:16:03
384
1
原创 随笔03 如何让二进制编码第一次出现一的以后位置都变为一
感觉应该是这样。加入现在这个数不是二的整次方,那么就这样让他变成2的整次方。前提条件是这个是大于最小初始化容量8还有一个前提,就是用二进制表示这个数,比如说是分两种情况a.0000 0000 0000 0000 0000 0000 0100 0000b.0000 0000 0000 0000 0000 0000 0110 0000第一个1出现在第26位,那么要做的就是先把第27-32的0 全部替换位1,用上边这个数+1前置知识:0|1=11|0=10|0=01|1=1所以第
2022-03-14 17:37:30
204
原创 随笔02-源码中经常出现的位运算
ArrayDeque public int size() { return (tail - head) & (elements.length - 1); } public void addFirst(E e) { if (e == null) throw new NullPointerException(); elements[head = (head - 1) & (elements.
2022-03-14 16:41:42
120
原创 随笔-01 ArrayDeque的size源码问题
随笔-01 ArrayDeque的size源码问题ArrayDeque 使用循环数组实现,问题:我想知道队列的元素个数,随后去查看size源码。然后模拟一个循环队列放入元素,根据源码计算个数始终比实际的少一位。然后去查看addFirst和addLast源码,发现头结点插入数据后,头结点index会减一,然后元素会放到新的索引上。但是在尾结点插入元素后,新的元素直接放到tail上,然后尾结点的索引加一。这也就说明了tail的index处没有数据,从而对应了size的源码。那么为什么会这样呢?因为开始的
2022-03-14 16:22:58
106
原创 MyBatis xml动态sql insert批量插入 报错Operand should contain 1 column(s)
报错:运算至少需要包含一个列原始写法<insert id="insertComments" parameterType="Map"> insert into items_comments ( id, user_id, item_id, item_name, item_spec_id, sepc_name, comment_level,
2021-05-25 15:18:09
1177
原创 idea的Maven Projects 飘红
idea的Maven Projects 飘红原因是xml中的头标签多了空格,例如‘space’space’… 这种.检查一下,删除空格即可
2021-05-20 16:55:20
145
原创 [源码解读]并发修改异常ConcurrentModificationException
前提,看一下这个并发异常代码中的具体逻辑创建Iterator迭代器的时候,第一步首先对expectedModCount进行赋值int expectedModCount = modCount;接下来调用hasNext方法,看是否有下一个对象,根据当前索引值是否等于迭代器长度进行控制然后调用next()方法,返回list集合迭代器中当前索引值的元素.本方法中第一行代码是checkForComodification();检查模型修改次数是否和期望值相同接下来调用迭代器的remove,add,set
2020-10-05 18:26:01
120
原创 idea2019无法启动
转载https://www.cnblogs.com/54chensongxia/p/11691996.html解决方案#添加环境变量IDEA_JDK_64添加好后就能顺利启动IDEA 2019了。
2020-09-07 19:16:20
506
原创 Maven中jdk版本错误,编译失败
Maven软件,conf配置文件添加如下代码,解决编译失败等问题jdk-1.8true1.8<maven.compiler.source>1.8</maven.compiler.source><maven.compiler.target>1.8</maven.compiler.target><maven.compiler.compilerVersion>1.8</maven.compiler.compilerVersion
2020-09-07 17:22:27
336
原创 Error:scalac: error while loading JSON, invalid LOC header (bad signature)
错误内容:启动程序时报错,无法加载json错误原因:配置文件错误,查找修改即可val config: Config = ConfigFactory.load("application.conf")
2020-08-30 20:08:29
691
原创 五柳先生传
五柳先生传【作者】陶渊明 【朝代】魏晋先生不知何许人也,亦不详其姓字,宅边有五柳树,因以为号焉。闲静少言,不慕荣利。好读书,不求甚解;每有会意,便欣然忘食。性嗜酒,家贫不能常得。亲旧知其如此,或置酒而招之;造饮辄尽,期在必醉。既醉而退,曾不吝情去留。环堵萧然,不蔽风日;短褐穿结,箪瓢屡空,晏如也。常著文章自娱,颇示己志。忘怀得失,以此自终。赞曰:黔娄之妻有言:“不戚戚于贫贱,不汲汲于富贵。”其言兹若人之俦乎?衔觞赋诗,以乐其志,无怀氏之民欤?葛天氏之民欤?...
2020-08-27 19:06:11
134
原创 IntelliJ IDEA粘贴代码时,自动对齐多行
settings->eidtor->smart keys -> reformat on paste 选择 Indent Block
2020-08-23 20:40:13
2787
3
原创 [Scala中return用法跳坑]org.apache.spark.SparkException: Task not serializable
Spark任务未初始化错误日志日志分析错误代码代码分析改正方法错误日志Exception in thread "main" org.apache.spark.SparkException: Task not serializable//中间省略很多行报错信息- object (class org.apache.spark.sql.catalyst.expressions.ScalaUDF, UDF:merger(input[1, string, true], input[3, string, tru
2020-08-16 18:27:34
447
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人