- 博客(17)
- 收藏
- 关注
原创 Linux学习~树莓派gpio控制
官方网站——说明WiringPi 是应用于树莓派平台的 GPIO 控制库函数,WiringPi 遵守 GUN Lv3。wiringPi 使用 C 或者 C++ 开发并且可以被其他语言包转,例如 Python、ruby 或者 PHP 等。wiringPi 包括一套 gpio 控制命令,使用 gpio 命令可以控制树莓派 GPIO 管脚。用户可以利用 gpio 命令通过 shell 脚本控制或查询 GPIO 管脚。
2025-02-10 07:06:48
1005
原创 LeetCode 剑指 Offer II 树(下) 专题总结
它意味着在 start 到 end 时间内增加一个日程安排,注意,这里的时间是半开区间,即 [start, end), 实数 x 的范围为, start <= x < end。输出:[30,36,21,36,35,26,15,null,null,null,33,null,null,null,8]输入:root = [4,1,6,0,2,5,7,null,null,null,3,null,null,null,8]输入:root = [5,3,6,2,4,null,null,1], p = 6。
2025-02-10 07:04:47
496
原创 LeetCode -234 - 回文链表 - Java - 三种解法
解法二 - 通过将链表节点的val值 存入 顺序表/数组 中, 通过数组下标进行对比。递归方法就是效率低了。
2025-02-10 07:02:46
189
原创 LeetCode - 1669 - 合并两个链表 - Java - 细喔
难点就在于 如何确定 a 的前驱节点 和 b的后驱节点,这样我们的list2 接入 list1,简单要死。定义一个 list2 的 头节点替身 ,让它去遍历list2的链表节点,找到最后一个节点的位置。也就是说 list1 第一个节点 对应的下标是 0.,第二个节点下标是1,以此类推,找到 a 的前驱节点,就需要 循环变量 i < a -1。然后,就是合并:a的前驱节点的 next = list2;有的人可能会说: 既然 a 是下标,那么为什么我们不是 i < a,下标与节点一一对应嘛!
2025-02-10 07:00:42
148
原创 LeetCode - 1518 - 换酒问题 - java - 细节喔~
前言虽然这个题很简单,但是有趣它的解题思维的多样性,我觉得还是很必要写一写的。题目要求简单来说:就是我们买了 numBottles 瓶 冰阔乐(以前的那种玻璃瓶装的,现在一些小餐馆还有),店家告诉我们店里现在有活动,numExchange 个 空瓶子,可以换一瓶 冰阔乐,那我们肯定狂饮啊,几个人现场直播吹阔乐。问最后,我们一共吹了多少瓶?我们又不是傻,我们去数嘛!嘻嘻。由于题目很简单,我们直接上程序,我们主要目的是它的解题思维解法一解法二解法三。
2025-02-10 06:58:40
327
原创 Kafka核心技术与实战
消息引擎系统:消息引擎是一组规范,企业利用这组规范在不同系统之间传递语义准确的消息,实现松耦合的一步式消息传递。通俗的讲,就是系统A发送消息给消息引擎系统,系统B从消息引擎系统中读取A发送的消息。消息引设定具体的传输协议,用什么方法把消息传出去:点对点模型发布/订阅模型Kafka同时支持这两种消息引擎模型。
2025-02-10 06:54:32
695
原创 Kafka(什么是Kafka?Kafka的设计与实现!顺便教你如何搭建Kafka!)
除此之外,还有用来做数据集成的 Kafka Connect API 和流式处理的 Kafka Streams 等高阶客户端,但这些高阶客户端底层仍然是生产者和消费者API,它们只不过是在上层做了封装。这很容易理解,生产者(也称为发布者)创建消息,而消费者(也称为订阅者)负责消费or读取消息。在 Kafka 中,消息以**主题(Topic)**来分类,每一个主题都对应一个,这有点儿类似于数据库中的表。
2025-02-10 06:52:31
1521
原创 JVM学习—JVM内存结构与虚拟机栈
主要是做方法的出栈与入栈,同时,虚拟机栈是有大小限制的,可以通过-Xss来设置虚拟机栈的大小。java文件被编译为class文件,运行时,class文件被classLoader读取,大多数时候会被解释器解释为机器码,然后被操作系统执行,但是也会被JNI通过即时编译编译为机器码,最后被操作系统执行。如果JVM的执行引擎相当于计算器的CPU的话,那么操作数栈相当于CPU的寄存器,操作数栈中存放了当前正在执行的指令以及结果(比如加法运算会先出栈再入栈)操作数栈中的命令会被JVM执行引擎执行。
2025-02-10 06:50:30
474
原创 JVM基础知识(四)JVM内存结构 VS Java内存模型 VS Java对象模型_4 jvm了解吗 对象内存模型讲一下
前面几篇文章中, 系统的学习了下JVM内存结构、Java内存模型、Java对象模型, 但是发现自己还是对这三者的概念和区别比较模糊, 傻傻分不清楚。所以就有了这篇文章, 本文主要是对这三个技术点再做一个总结和区分, 加深印象。
2025-02-10 06:48:28
288
原创 JVM内存溢出分析:堆内存溢出+虚拟机+方法区——JVM系列(二)
static class OOMObject {}public static void main(String[] args) {List oomObjectList = new ArrayList<>();while (true) {oomObjectList.add(new OOMObject());}}}运行后会报异常,在堆栈信息中可以看到:新产生的对象最初分配在新生代,新生代满后会进行一次 Minor GC,如果 Minor GC 后空间不足会把该对象和新生代满足条件的对象放入老年代,老年代空间不足
2025-02-10 06:46:26
742
原创 Jenkins流水线部署java项目
root@jenkins tomcat-java-demo]# yum -y install maven #安装maven 工具。接收对象中: 100% (558/558), 5.08 MiB | 3.49 MiB/s, 完成.[root@jenkins opt]# yum -y install git #安装git工具。处理 delta 中: 100% (217/217), 完成.正克隆到 ‘tomcat-java-demo’…tar: 从成员名中删除开头的“/”
2025-02-10 06:44:25
1034
原创 JBPM学习(四):执行流程实例
ProcessInstance,流程实例:代表流程定义的一次执行.如:张三昨天按请假流程请了一次假.一个流程实例包括了所有运行阶段,其中最典型的属性就是跟踪当前节点的指针,如下图。System.out.println(“============== 【” + userId + “】的未办理的任务列表 =============”);**ProcessInstance(流程实例)就是Execution(执行对象),**processInstanceId就是executionId。// 所属的执行对象的id。
2025-02-10 06:40:14
891
原创 Java高级笔试宝典覆盖近3年Java笔试中98%高频知识点
针对这种情况,我们创作团队经过精心准备,从互联网上的海量面试笔试真题中,选取了当前顶级企业**(包括微软、谷歌、百度、腾讯、阿里巴巴、360和小米等)的面试笔试真题,挑选出其中最典型、考查频率最高、最具代表性的Java真题,同时对真题进行知识点的分门别类,做到层次清晰、条理分明、答案简单明了,最终编写成书**。本书中所选知识点全部来自于顶级知名企业,它们是行业的风向标,代表了行业的高水准,其中绝大多数知识点因为题目难易适中,而且具有非常好的区分度,经常会被众多中小企业全盘照搬,具有代表性。
2025-02-10 06:38:13
631
原创 Java高级架构面试知识点:基于-Hystrix-信号量机制实现资源隔离
Hystrix里面核心的一项功能,其实就是所谓的,要解决的最最核心的问题,就是将多个依赖服务的调用分别隔离到各自的资源池内。避免说对某一个依赖服务的调用,因为依赖服务的接口调用的延迟或者失败,导致服务所有的线程资源全部耗费在这个服务的接口调用上。一旦说某个服务的线程资源全部耗尽的话,就可能导致服务崩溃,甚至说这种故障会不断蔓延。默认情况下,Hystrix 使用线程池模式。前面已经说过线程池技术了,这篇文章就来说说信号量机制实现资源隔离,以及这两种技术的区别与具体应用场景。
2025-02-10 06:36:11
661
原创 Java项目-医院挂号管理系统
在本系统中,主要分为三个角色,患者主要实现按照科室挂号,按照医生挂号,查看我的预约,查看我的诚心度,医生主要实现查看我的排班信息,我的申请,患者队列,我的信息,管理员主要实现查看我的基本信息,医生信息管理,患者信息管理,科室信息管理,排班申请管理。患者挂号包括按照科室挂号,按照医生挂号,选择挂号时间,点击确定后,点击发送验证码,在163邮箱中收到挂号验证码,填写正确后,挂号成功,反之失败,显示验证码错误。req.getSession().setAttribute(“message”,“用户名或密码错误!
2025-02-10 06:34:10
1060
原创 Android 空包签名(详细版)
我现在的情况我来描述一下,就是我这里有源码,但是没有之前的jks,所以无法获得原来的签名,于是我就重新生成新的jks去进行签名,生成APK。按照要求输入,因为我之前创建jks,只输入了自己的名字,其他都没有输入,没有的直接回车跳过,最后的问题,问你是否正确,输入Y。由于我的别名密码和秘钥库秘钥是一致的,所以我直接回车,然后就会出现如下所示的提示,复制我标注的这句代码,以你自己的实际为主。比如我的别名是key0,我希望生成的keystore名称是translate.keystore,那么就可以这么写。
2025-02-06 14:26:11
1127
原创 Android 直播中的悬浮小窗以及封装
给Window设置一下type类型,这里 8.0 版本之后类型有改变这里做个判断} else {悬浮窗需要用户手动开启,这里需要给用户做一个引导if (!Settings.canDrawOverlays(this)) { // 判断是否有权限// packageName 是应用的包名// 直接打开系统的同意界面给用户操作) {// 用户同意了就可以进行其它操作了处理滑动和惯性滑动滑动的处理是通过的方法,根据滑动的距离改变Window。
2025-02-06 14:24:25
1134
1
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅