![](https://img-blog.csdnimg.cn/20201014180756738.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
个人思考和经验
文章平均质量分 53
主要介绍我个人的思考和想法,以及学习过程中的感悟和收获。
༺胡俊知道༻
这一辈子很难找到自己喜欢的事情
展开
-
用Java自定义一个URL截取参数的工具类
****//*** 获得协议名* @return*/if (url!/*** 获得服务器地址* @return*/// 第一个左斜符的位置if (pos2!= -1) {} else {/*** 获得端口号* @return 端口号*/// 第一个左斜符的位置// 第一个符号:的位置// 判断是否有第二个:if (pos3!= -1){原创 2024-08-02 01:33:04 · 108 阅读 · 0 评论 -
两个大整数的模拟加法
1、大数相加已经超出long类型变量的存储范围。2、需要用字符串来存储,甚至使用磁盘文件来存放位数很大的整数或者小数;原创 2024-08-01 23:45:52 · 94 阅读 · 0 评论 -
Ant的URL路径映射算法的Java实现
3、实现复杂路径匹配比较复杂,需要仔细的琢磨;用Java语言自定义实现一个Ant匹配算法;2、对有些表达式是否正确,不好进行验证;1、AntMathcer匹配类的代码。1、对Ant表达式的语法很模糊;原创 2024-08-01 22:02:21 · 239 阅读 · 0 评论 -
设置Java图形界面的按钮指针图标
1、每个组件有setCursor(Cursor cursor)方法来设置鼠标指针;2、JDK官方有Toolkit工具类来创建自定义的指针对象;用Java的Swing图形框架来设置按钮的Cusor图标;此时出现了自定义图片在指针附近。2、当鼠标放置在按钮上。原创 2024-08-01 18:34:20 · 95 阅读 · 0 评论 -
用Java反射调用参数顺序自由组合的方法
通过方法"isAnnotationPresent(目标注解类.class)"来判断类、方法或者属性是否存在目标注解;2、如果方法出现的参数没有事先约定,那么调用时在Object[]数组对应位置设置的是null。1、如果printA方法允许出现的参数类型事先规定,那么定义的参数列表可以是自由选择组合;3、方法参数约定是String、int、long的三种类型,出现顺序是任意排列组合的;测试用反射调用一个可以选择约定的参数类型自由组合的方法;4、如果方法名允许自定义,那么需要告诉方法名字;原创 2024-08-01 17:06:16 · 123 阅读 · 0 评论 -
用Java的TCP套接字阻塞输入输出来模拟服务端的可读取监听
1、基本能运行,能达到预期的目的;2、主要缺点是不能支持非阻塞写入;当遇到网络输出阻塞,会使得线程池的处理线程阻塞;3、java.net.Socket对象的InputStream输入流可以用available()方法判断是否有数据可读;但是没有提供方法判断是否能写入数据;原创 2024-07-23 15:04:02 · 205 阅读 · 0 评论 -
网络直播中的技术难题
1、实现网络直播需要解决很多的技术问题。2、网络直播背后需要网络硬件基础设施的升级,需要低价便宜的流量套餐,需要图形处理技术的进步,需要多媒体技术的进步,需要广泛的网络使用群体。3、网络直播也需要法律法规的升级,约束直播过程中的虚拟礼物支付,播放内容,语言表达等等行为。原创 2024-07-19 21:24:39 · 191 阅读 · 0 评论 -
即时网络通信应用程序中的设计问题
1、实现一个即时通信系统有一定难度。2、需要搭建数据库,组织如何维护私聊和群聊。需要关系表存放账号,通过账号找到套接字。需要数据库存放聊天记录。3、需要设计高级加密通信协议。4、需要搭建聊天界面,需要实现输入法,界面图标,语音输入,录音调用等功能。5、需要解决登录,会话管理,信息管理的问题。原创 2024-07-19 20:20:39 · 826 阅读 · 0 评论 -
数学中的近似
当每个长方形的宽设置到最小的极限,误差最小,就能最大可能近似实际的曲线围成的面积。1、求一些函数的值很困难,例如正弦值、指数为分数的指数函数值。(二)用很多个有规则的长方形来近似曲线和坐标轴围成的面积。2、求一条曲线和直线、坐标轴围成的面积,用仪器很难测量。这样一条曲线长度就等于多条相连的,很短的切线段的长度和。4、求很多个有规则的立方体的体积之和,就是二重积分。1、用很多个有规则的形状物体来近似一个不规则形状。3、求很多个有规则形状的面积之和,就是一重积分。3、遇到不规则物体,总是用有规则的物体去近似。原创 2024-07-19 19:24:45 · 178 阅读 · 0 评论 -
用Java的HttpURLConnection类上传单个文件
3、不支持HTTPS协议,需要用户切换为HttpsURLConnection类才能使用。用HttpURLConnection类上传文件给HTTP服务器。4、边界字符串用户可以自定义,只要不会文件内容相同就符合要求。1、传入的HTTP方法必须全部大写,例如GET、POST。2、用户可以自己设置请求头,满足实际要求。2、不适合同时上传其他的表单属性;1、适合只能上传单个文件的场景;原创 2024-07-18 20:04:57 · 183 阅读 · 0 评论 -
如何防止重复调用
1、用户通过网站进行表单提交时,因为出现网络故障,导致提交卡顿。退出后重新进行支付,最后发现同一个金额支付了两笔。3、系统有一个记录库,第一次接受请求时记录。如果发现过去存在相同的请求编号,则请求失败。研究如何避免同一个请求发生多次提交的故障。用户返回后再次提交,最后发现提交了两次。2、每次重新请求的编号都是不一样的。1、给每个请求生成一个唯一编号。4、请求成功后需要返回执行结果。2、用户移动支付时,出现卡顿。防止用户重新发起请求。原创 2024-07-08 16:43:51 · 149 阅读 · 0 评论 -
关于数据库事务原理的猜测
1、需要分布式事务控制,用一台服务器充当事务管理者,用网络控制参与事务的每台数据库实例。例如:有一条语句是修改主码为5的记录,那么执行事务之前,要给这条记录创建备份。(一)事务是在同一个数据库软件运行实例中的同一个数据库里的数据表之间进行吗?3、如果有一台数据库实例反馈执行失败,就通知那些执行成功的数据库进行回滚。2、还原过程是执行一下更新操作,用备份的过去值覆盖本次事务新修改的值。1、主要是把那条执行失败语句的前面那些语句执行成功的记录进行还原。2、记录的备份一般存在内存里,当事务成功后,清除备份。原创 2024-07-08 16:35:31 · 147 阅读 · 0 评论 -
批处理任务文件的设计
存放图片数据的有.jpg,可能连续3个字节表示一个像素值。如果是固定类型和长度的,可以用二进制文件连续存放。4、如果想从文件里输入多个数据,用数组形式。存放结构类型的有.xml和.json类型。如果有结构,可以用xml和json来存放。1、能有字符间隔,隔开每部分的数据。2、目前数据很多都是存在数据库里。3、如果需要保存计算结果到文件里。5、如果从文件里获得计算表达式。设计一些批量任务文件的格式。目前的文件格式非常多。存放文本的有.txt。2、需要代表任务类别。3、需要描述任务内容。原创 2024-07-07 23:13:47 · 141 阅读 · 0 评论 -
设计简单的高层网络协议
1、需要在通信单元的前面指定信息。2、需要定义一些整数值,规定含义。3、需要用数字来通知后面负载数据的长度。4、需要用一些办法来分清楚本次数据的开始位置和结束位置。5、需要约定一下通信结果的格式。6、通信最可怕的是顺序出错,或者有漏洞,或者失去连接。原创 2024-07-07 22:37:31 · 301 阅读 · 0 评论 -
探测事件是否满足的方案
处理器需要外部设备的中断信号来通知,才能知道某个条件满足了,需要处理该事件。1、实际应用中总是存在需要判断某个事情是否满足条件的情况。2、处理器收到中断后,根据中断来切换进程处理该中断事件。1、当外部条件满足,就发出一个中断信号给处理器。计算机需要处理很多的鼠标、键盘、网络输入事件。2、事件异步监听处理需要开启线程来阻塞监听。3、如果信号满足条件,就需要处理该事件。3、处理器不需要来循环访问条件是否满足。1、当外部条件满足,需要设置一个信号。2、处理器需要循环定时来访问这些信号。信号或许是一个字节值。原创 2024-07-07 21:32:40 · 165 阅读 · 0 评论 -
编程语言的基础函数库
2、有了条件判断、变量定义、循环、多线程、网络通信、文件输入输出等,就能实现各种网络服务器。真假值条件判断,变量与或非运算,比特位运算,加减乘除运算,括号表达式都是不可缺少的。2、有了基本的函数库,就能根据计算机的数据结构和算法逻辑,实现各种通信和控制应用。1、有了基础的网络通信,那么那些高层应用协议就能实现了,例如HTTP协议通信。3、有了数组、对象创建、方法调用,那么那些复杂的集合、数据结构就很容易实现。还需要支持线程的中断、休眠、唤醒、关闭、销毁。数组必不可少,能存放大量的数据,方便循环处理。原创 2024-07-07 18:12:28 · 160 阅读 · 0 评论 -
对汽车自动驾驶的猜测
例如:前方多少米遇到障碍物,应该怎么处理,是紧急刹车,还是切换车道避让。3、转向任务和油门任务,刹车任务是同时执行吗?5、拥有对汽车油门、刹车、方向盘的程序控制。2、油门设置后就保持不变,需要时再调整吗?4、刚开始自动驾驶时,会做到自动开出车库吗?4、拥有获取当前车道的经纬度坐标区域功能。6、设计一个对遇到障碍物的处理动作方案。1、可能需要提供对自动驾驶的中断功能。自动停车,从停车位出发可是很难的任务。3、拥有卫星电子地图导航功能。1、拥有快速的障碍物探测器。2、拥有实时卫星定位功能。原创 2024-06-30 22:14:38 · 434 阅读 · 0 评论 -
计算机软件怎么控制硬件
程序的二进制序列 –> 处理器执行 –> 寄存器和主板总线 –> 发出电信号 –> 门电路发出电信号 –> 发光二极管、电动机、继电器等动作元件作出动作。原创 2024-06-30 21:29:12 · 425 阅读 · 0 评论 -
Ant路径映射匹配算法的简单猜测
1、在Servlet程序中,URL规则总是设置为类似/user/**的形式,代表以/user/为前缀的都匹配通过。2、在SpringMVC控制器中,总是有 *.do类似的规则,代表请求URL中后缀为.do的都匹配通过。从倒数开始比较是否等于字符o,是否等于字符d,直到字符*,如果有一个不相等,匹配不通过。例如:从下标0开始遍历,判断第一个字符是不是 /,第二个字符是不是u,直到遇到*。规则是/user/e*.html,请求是/user/err.html,如何匹配?1、规则没有出现符号*的,采用直接比较。原创 2024-06-29 03:52:12 · 141 阅读 · 0 评论 -
关于编译的一些思路和猜想
2、如果遇到一个字符,它的左边是一行的开头,或者是空格,那么保存起来,继续读取直到下一个空格或者特殊符(特殊符是各种括号,各种运算符),就把这一段字符集中保存在一起。2、如果是循环,就建立一个子程序,名字是唯一生成的,把循环体作为子程序的内容,循环验证条件就转换成汇编的判断条件。2、树的根是每个重新开始的语义单位,例如 var、 for、while、int等等。1、遇到 //开头的字符,那么后面直到换行符之间的字符都是注释,就可以忽略。3、根节点的子节点是遍历过程中出现的下一个语义单位。原创 2024-06-03 20:28:16 · 422 阅读 · 0 评论 -
图形化按钮的实现思路
需要判断事件发生的坐标是不是在按钮的绘制区域内,只有在区域内才处理事件。重新绘制能做出对鼠标事件的反应,例如点击时把背景改一下,突出特点。按钮如果想长期显示,就需要处在死循环中,不断的清除和重新绘制。2、获取操作系统监听鼠标和键盘的事件库。1、获取操作系统的画图接口,一般是C语言库。2、调用接口函数,注册第一步实现的处理函数。(一)需要获取事件焦点才能处理鼠标事件。1、绘制背景,可以是图片,或者矩形。1、实现鼠标左键单机的监听函数。3、绘制边框,一般是矩形框。(二)事件发生的坐标要判断。原创 2024-06-03 20:38:45 · 196 阅读 · 0 评论 -
解释执行的难点
程序是很连贯的,例如定义变量语句不能中断,要完整一行才能定义变量。继续输入程序解释后,如何唤醒程序继续执行,比较复杂。(二)解释器执行完一行后,会中断等待用户输入。用户可以写入一行,解释器就执行一行。(二)解释器会阻塞等待用户输入代码。如果代码输入后,有语法错误会提示。翻译成机器代码,执行也会报错。用户输入一行,就翻译执行一行。一、常见的解释执行编程语言。(一)可以一边编写一边执行。(一)怎么实现只执行一行。如何实现中断,比较复杂。二、解释执行语言的特点。如果执行错误还会提示。原创 2024-06-03 21:22:42 · 336 阅读 · 0 评论 -
脉冲波测量距离的思路
(一)波的传播需要时间,事先已知波的传播速度(二)用固定间距发送脉冲的方式来传播。(三)接收时每次接收都要记录时间节点。(四)根据发送间距,接收间距,就能知道传播需要的时间。原创 2024-06-06 14:52:23 · 258 阅读 · 0 评论 -
测量转速的一些思路
(一)连接发电机测量电压法1、将一个旋转发电机用齿轮组和旋转物体连接。2、旋转物体转动带动发电机转动,对外产生电压。3、根据法拉第感应定律,转速和电压成正比。4、用一个电压表测量发电机的电压,再根据转速和电压的对应关系,得出电压对应什么转速。(二)脉冲磁场探测法1、给旋转物体的圆周外部小角度部分加一个小磁铁。2、用一个霍尔传感器稍微靠近旋转物体有磁铁的附近。3、给霍尔传感器供电,测量输出的霍尔电压。4、当旋转物体转动时,磁铁会转一圈就接近霍尔传感器,产生一个霍尔电压。原创 2024-06-06 15:18:51 · 385 阅读 · 1 评论 -
一些关于科技的想法
1、自从有了科技,生产力快速发展,可以生产很多以前没有的产品,扩展人的交通、沟通交流、食物生产、物质流通等方面,还能提供超出想象的服务(基因治疗、人造器官、辐射育种、特种材料等等)。研发仪器的思路可能是自然界的现象启发,可能是基本认识,可能是偶然的一次实验发现,可能是一些理论猜想和假设,可能是已知的理论作为指导。2、有了不断发展的科技,人类的军事和武器发生升级,从冷兵器、热兵器、化学武器到核武器、生物基因武器等等。3、有了不断发展的科技,粮食和医疗有了飞速发展,人口不断增加。原创 2024-06-06 21:31:25 · 529 阅读 · 0 评论 -
一些关于机器学习的思路和猜测
1、网上说机器学习就是根据已有的图片、文字、视频资料,建立一个数据库,用一个处理算法,把已有的资料进行提取关键特征和一些联系,存入数据库中。(三)提取图片的特征,需要用一种化繁为简的算法,把像素块不断的合并类似的,最后剩下差异最大的一块像素,就能得到一个特征。(二)人的需要导致诞生了这么多学科,因为需要吃,穿,交通,繁衍、看病,住宿,社交,尊严和荣耀,理想和追求等等。学习到一定程度,就需要接受外界文字、图片输入,再查询记忆库,处理后,返回结果,或者作出判断和反应。原创 2024-06-08 21:57:09 · 432 阅读 · 0 评论 -
关于如何绘制文本框占位符的思路
在PS、WPS办公软件中总会出现画一个文本框,画一个图片的操作,还能拖动,拉伸,旋转,层叠,请问这是如何实现的呢?可能需要设计文本框的事件范围判断,在对应范围就处理对应鼠标事件,显示对应的鼠标箭头。只有当鼠标处在边框的误差范围内,才能单击有效,把设置的各个图标显示出来,把旋转图标绘制出来。此时鼠标移动到文本框的四周,会出现上下左右方向拉伸的箭头,出现移动箭头,还出现旋转箭头。程序的变量会记住鼠标第一次点击时的x和y坐标,作为文本框的绘制起始坐标。可能文本框的边框需要画的萎缩一点,留四周的边框。原创 2024-06-10 15:15:19 · 348 阅读 · 0 评论 -
一些科学方法的总结
例如:假设根据理论,某类物质可以导电,那么就设计一个电路,来验证该物质有没有电流通过,从而验证一下理论是否正确。案例:用相同条件的实验材料,例如同一个地方的蚯蚓,分成两批,分别到不同的环境中生存,一段时间后观察生存的情况。案例:狄拉克通过数学公式推导,得出反物质的存在可能性,然后提出猜想,最后有人做实验来验证反物质是否存在。 (一)观察法:观察物质运动的现象,特点,记录结果,分析得出结论。案例:观察蜡烛的燃烧过程,发光,火焰分层,火焰朝上,蜡烛慢慢变短。经过多次实验,反复验证实验结果,总结实验规律。原创 2024-06-11 12:11:52 · 265 阅读 · 2 评论 -
数据库文件的简单设计
设计存放数据文件的字节可以很灵活。可以慢慢的升级和改进。可以用一些算法来进行索引查询。原创 2024-06-11 17:24:53 · 450 阅读 · 0 评论 -
文件存放数据的一些通用格式
(一)用户可以自定义各种文件格式来满足要求。(二)用户可以精心设计各部分的长度来满足实际要求。(三)二进制文件可以用索引和文件指针跳跃来实现快速读写。原创 2024-06-11 17:51:58 · 290 阅读 · 0 评论 -
python的代码结构特点
类名案例:Student、Teacher、Manager、Tool、Worker、WorkerAdapeter、WebBrowser、Phone、Task、Week、Schedule、ThreadPool等等。方法名案例:doTask(),run(),start(),stop(),reset(),restart(),getAge(),setName()等等。3、定义函数、类、接口,要有明确的返回值类型,要有明确的关键字,代码块要有一些缩进。还需要制作接口文档,说明作用,使用方法,传参和返回值类型。原创 2024-06-11 19:21:49 · 558 阅读 · 0 评论 -
常见数字电路的引脚字母代号
cl 时钟信号,进行收发同步,每个周期传一个比特。sc 为低电平,代表选中哪个从芯片。ss 类别信号,分辨地址还是数据。vcc 电源正极,供电。tx 发送信号引脚。tr 接收信号引脚。gnd 电源负极。原创 2024-06-12 00:19:01 · 461 阅读 · 0 评论 -
变容二极管的介绍
指的是二极管可以充当一个电容。二、规律二极管的电容会随着两端的电压发生变化。如果电容发生变化,那么该二极管和电感组成振荡电路的振荡频率也会发生变化。原创 2024-06-12 00:23:26 · 174 阅读 · 0 评论 -
电动机的知识
电动机转动达到额定转速后,产生的反电动势比较大,对外部电源的阻碍作用较大,引起电流减少。让线圈转动一定角度,改变电流方向,让两个磁场继续吸引和排斥,顺利的单向旋转。磁场的运动在转子内部产生一个感应电动势,并且有闭合回路,转子流过感应电流。产生的反电动势方向和外部电源提供的电动势方向相反,抵消一部分电动势。通电线圈产生的磁场和外界固定磁场进行吸引和排斥作用,产生转动。根据磁极位置切换定子线圈的电流方向,改变定子线圈的磁极方向。让定子产生一个旋转的磁场,这个磁场和转子产生一个相对运动。原创 2024-06-12 00:31:30 · 136 阅读 · 0 评论 -
WebSocket通信私发和群发的思路
2、把私信消息发给服务器。私信中有接收目标的标识符,服务器根据标识符,找到目标对象。在处理连接成功的方法中,把每个Session会话对象放入全局的静态Set集合中。群发时服务器会把收到的消息经过遍历,转发给目前和服务器建立连接的所有客户端。(一)每个客户端和服务端建立一个WebSocket连接,就会创建一个会话。用一些ID,和会话对象建立联系,存入Map中。服务端根据会话对象来进行点对点和群发通信。(二)服务端可以管理这些会话信息。3、服务器把私信转发给目标对象。每个客户端对应一个会话对象。原创 2024-06-12 01:07:53 · 354 阅读 · 0 评论 -
理论和实验的关系
实验家通过做实验,观察实验过程和结果后,如果发现和理论预测有误差,那么理论家就能根据新发现和误差提出新的理论来解释。理论家提出理论和猜想,实验家就可以做个实验来验证是否适用。9、能分析和评估实验效果,记录实验中的错误和新发现。2、能制作新的实验设备,或者使用已存在的实验设备。3、大胆设计合适的实验思路,选择合适的实验材料。5、统计实验过程中的数据,代入公式,验证理论。3、敢于对过去的理论有怀疑,对权威有怀疑。4、有深厚的理论基础,包括数学,物理等等。7、能控制各种各样的因素导致的误差。原创 2024-06-12 12:44:57 · 132 阅读 · 0 评论 -
实现可伸缩和高并发应用系统的一些思路
1、网络时代,各种技术层出不穷,单体架构、云计算、服务器集群、分布式多模块、消息队列、内存高速缓冲、数据库主从读写分离、数据库分库分表、单点登录、内容加速网络等等。3、代理服务器能支持在不重启情况下,增加代理服务器的域名列表或者IP列表,也能不重启情况下删除域名或者IP列表。难题是在不重启情况下,新增和别的数据库服务器的同步操作,实际上IP地址是固定的,套接字可能还需要重新开启。工作人员立刻启动备用服务器,部署服务,同步数据,动态加入服务列表,分摊请求量,缓解压力。(可以随机,或者轮流分配)原创 2024-06-13 14:31:14 · 793 阅读 · 0 评论 -
Java使用反射调用参数自由组合的方法的思路
例如:SpringMVC的控制器,只需要用@RequestMapping注释方法,那么方法的参数可以是 HttpServletRequest、HttpServletResponse、HttpSession、String、int、Map等等类型,并且个数任意选择,顺序任意选择。数组是 Class[]类型,里面每个元素是方法参数类型的类对象,按照方法中出现的顺序在数组中从左到右排列。如果数组元素Class类型和某个类型相同,就把类型对应的对象放在Object[]类型的对应位置。原创 2024-06-13 20:55:03 · 351 阅读 · 0 评论 -
SpringMVC的控制器方法的一些要点
2.3、如果传值是表单的checkbox类型,表单域的name属性值相同,控制器需要使用数组来接收,例如 Integer[] 或者String[]类型的参数接收。如果没有加@ResponseBody注解,可以封装响应结果,使用ResponseEntity类的对象返回,可以指定响应头的对象,响应体的内容,响应码。如果对方传值的是请求体,并且是XML或者JSON格式的,就需要使用对象来映射和绑定,并添加注解@RequestBody。原创 2024-06-14 12:27:19 · 758 阅读 · 0 评论 -
软件的开发和运营
软件的制作,需要企业投入人力、物力、资金,需要等软件投入市场,销售后收回本金和利润,企业才能生存,否则就会倒闭。利用免费使用的特点,吸引客户使用,等客户养成习惯后,稳定和留住客户;免费使用后,发现很好用,很快捷,就积累一些用户,等试用期结束,就有人购买一个月或者一年的使用费。通过商务谈判,对软件的开发周期,费用,维护服务达成一致,签订合同,开始开发。具体市场上能有多少人购买,完全取决于软件价格、客户的收入、客户的接受程度。通过和客户沟通,询问具体的使用要求,应用过程,部署和运行的场景。原创 2024-06-15 22:10:06 · 252 阅读 · 0 评论