- 博客(179)
- 资源 (5)
- 收藏
- 关注
原创 《Java 核心技术卷1 基础知识》第 4 章 对象与类
面向对象程序设计(object-oriented programming, OOP)面向对象的程序是由对象组成的,每个对象包含对用户公开的特定功能部分和隐藏的实现部分。传统的结构化程序设计通过设计一系列的过程(即算法)来求解问题。一旦确定了这些过程,就要开始考虑存储数据的适当方式。这就是 Pascal 语言的设计者 Niklaus Wirth 将其著作命名为《算法 + 数据结构 = 程序》的原因。在 Wirth 的这个书名中,算法是第一位的,数据结构是第二位的,这就明确地表述了程序员的工作方式。
2023-01-01 21:36:27
635
原创 PHP 扩展与 ZEND 引擎的整合
PHP 扩展是对 PHP 功能的一个补充,编写完 PHP 扩展以后, ZEND 引擎需要获取到 PHP 扩展的信息,比如 phpinfo() 函数是如何列出 PHP 扩展的信息,PHP 扩展中的函数如何提供给 PHP 程序员使用,这些是开发 PHP 扩展需要了解的内容。get_module() 函数返回一个 zend_module_entry 结构体的指针,通过 ## 完成字符串的拼接,然后通过 & 取地址符获得结构体的内容即可。
2022-12-20 19:15:26
448
原创 IEEE 二进制浮点数的表示
在 C 语言中,有两种存储浮点数的方式,分别是 float 和 double ,当然了还有long double。这几种浮点型所容纳的长度不同,当然它们存储的精度也就不同了。图中的 00 00 70 40 是以小尾方式存储的,其值为 40 70 00 00,与我们手动转换的值相同。对于整形而言,比如 int 、short 、char 之类的,在内存中的存储方式都是用。今天,我来将 IEEE 二进制浮点数的表示方式进行一个简单的介绍。关于 double 的存储方式与之类似,这里也就不进行介绍了。
2022-12-10 19:03:06
1182
原创 《Java 核心技术卷1 基础知识》第三章 Java 的基本程序设计结构 笔记
曾经有人说,作为Java程序员如果没有卷过这本书,就算不上是真正的Java程序员,那么我就也来卷卷它吧。下面是我的读书摘录笔记。FirstSamplepublic class FirstSample{public static void main(String[] args){System.out.println("We will ot use 'Hello, World!'");}}Java 区分大小写关键字 public 称为访问修饰符(access modifier),用于控制程序的其他部分对这段代码
2022-12-04 22:11:49
1401
原创 Vagrant 搭建虚拟机环境
注意这里选择公钥登录,用户名填写 vagrant,私钥的文件在 E:\vagrant\mall-node\.vagrant\machines\default\virtualbox 目录下的 private_key 中,大家把路径替换成自己的路径即可。可以看到该IP地址为192.168.56.1,我们将对应的Vagrantfile的ip地址修改192.168.56.101,其实只要在一个网段就可以,我这里使用了100。修改以后,将其保存。然后关闭虚拟机,启动虚拟机,连接虚拟机,查看它的IP地址。
2022-11-30 11:22:50
3148
1
原创 《Java 核心技术卷1 基础知识》第二章 Java 程序设计环境 笔记
曾经有人说,作为Java程序员如果没有卷过这本书,就算不上是真正的Java程序员,那么我就也来卷卷它吧。下面是我的读书摘录笔记。
2022-11-20 20:41:26
486
原创 《Java 核心技术卷1 基础知识》第一章 Java程序设计概述 笔记
现在的即时编译器已经非常出色,可以与传统编译器现媲美,而且在某些情况下甚至超越了传统编译器,原因是它们有更多的可用信息。Java 是强类型的,编译器能捕获类型滥用导致的很多错误。编译器生成一个体系结构中立的目标文件格式,这是一种编译过的代码,只要有 Java 运行时系统,这些编译后的代码可以在许多处理器上运行。不同的厂商会选择不同的中央处理器(CPU),因此很重要的一点是这种语言不应与任何特定的体系结构绑定。不过,像 Gosling 在专访中谈到:“毕竟,语言只是实现目标的工具,而不是目标本身”。
2022-11-18 23:21:56
718
原创 SpringBoot在IDEA中同一个项目用不同端口启动
比如我们有一个 Test 项目,默认的端口是 8080,那么用 IDEA 可以启动它,但是再想启动它时貌似 IDEA 就没有办法了。比如,我们想测试 Nginx 的负载均衡,再比如我们想测试 OpenFeign 的负载均衡。添加后显示为 Unnamed,此时我们可以重命名,这里我们重命名为 TestApplication2,如下图。这样就可以点击 OK 按钮, 在工具栏的配置处可以看到有两个项目了,如下图。其实,IDEA 可以通过简单的配置来解决这样的问题,而且也非常的方便。
2022-11-04 22:15:15
9012
原创 使用 ELK 收集日志
在这种情况下,ELK 为我们提供了统一的日志管理解决方案,它能很好的支持 Logback 等日志框架,使得我们可以集中的管理不同应用输出的日志信息。创建完成后,返回 Kibana 的首页,选择 Discover 选项,切换到我们新建的 logstash-* 选项下,然后选择时间段,就可以看到相应的日志信息了。在上图中应用日志框架直接将日志发送给 Logstash,然后 Logstash 将接收的日志写入 ElasticSearch 中,开发人员通过可视化的 Kibana 可以进行日志的查询和分析。
2022-09-15 07:59:54
4349
2
原创 利用 AOP 记录接口日志
那这样的话,我们可以在每个调用接口地址的前后使用输出日志的方式来记录,就可以得到调用接口的入参和接口的返回值,从而有利于我们以后的调试了。我们可以使用 SLF4J 或者 LogBack 等日志框架,在调用接口时来输出一下入参和返回值,大致方法是在调用接口前调用 logger.info 输出入参,然后调用接口后再次调用 logger.info 输出返回值。在我们的后端项目中有很多要调用第三方接口的地方,而调用接口就免不了会因为传递给接口的参数有问题报错,或者对接口的返回值处理不全导致报错或后续的流程有问题。
2022-09-06 21:24:52
1514
2
原创 Redis的过期和淘汰是两回事儿
今天整理一下关于 Redis 的过期策略和淘汰机制,这两个东西看着很像,其实不是一回事儿。过期策略 我们在使用 Redis 当作缓存时,通常会给 Redis 的 Key 设置一个过期时间,被设置过期时间的 Key 在未过期时可以对其进行读取或更新操作,也可以主动将其删除。当其超过设置的时间后,它将失效。通过它的过期机制,可以完成很多功能,比如计数器复位、token 过期等。 那么,Redis 对已经过期的数据是进行如何处理,或者说是如何删除呢?在 Redis 中有两种策略来删除过
2022-07-06 22:32:15
966
原创 多线程 | FutureTask 执行流程
在 Java 中可以用来创建线程的方式很多,比如由 Java 提供的 Thread、Runnable 等。本文章来介绍使用 FutureTask 创建线程,以及其流程。Thread 和 Runnable 的问题 众所周知,使用 Thread、Runnable 创建线程是非常方便的,只要实现 线程的 run 方法即可。但是通过 Thread、Runnable 实现 run 方法创建的线程是无法获取返回结果的,原因是线程方法 run 本身是没有返回值的。但是在很多场景中...
2022-05-02 10:25:56
1143
原创 Java开发手册黄山版新增规约摘录
在 2020 年 8 月 3 日 推出的《Java 开发手册嵩山版》后历经了 18 个月阿里又推出了《Java 开发手册黄山版》。想必每个 Java 程序员应该都会关注阿里推出的《Java 开发手册》,个人觉得这份开发手册短小精干,非常实用。在整个手册中可以逐步地学到知识(手册背不下来,只能逐步的吸收,并尽量付诸实践),也可以从知识的表面理解一些更深层的思想。其实之前我做 PHP 的时候,就对这份手册非常的喜欢。因此手册有更新,我把更新的规约摘录在这里,方便阅读,方便学习。 ...
2022-03-28 20:00:46
1524
原创 CISP 考试资源分享
有小伙伴在我的公众号中索取 CISP 考试的资源,其实也没什么资源,就是我的读书笔记,和上课时老师的笔记。我打包整理了一下,有需要的小伙伴可以在我的公众号回复 【cisp知识整理】即可,注意:蓝色字体即可。然后顺便我说一下关于 CISP 考试的感想。 CISP 是国内的注册信息安全工程师的考试,考试的题型是 100 道客观题,也就是选择题;考试时间是 120 分钟,也就是两个小时;满分是 100 分,70 分即可通过;考试的难度,用考过的人来说,两英里宽,两厘米深,也...
2022-03-21 20:57:50
1809
4
原创 为 JUnit 配置测试库
JUnit 用于单元测试,在测试删除时会影响开发中的数据,因此,我们可以为 JUnit 配置独立的数据库。在执行 @Test 注解的测试方法前,都会执行 @Before 注解的方法,那么就可以在 @Before 中配置测试库,这样就可以在不影响开发的库中数据的情况下,通过单元测试来测试删除数据的方法了。...
2022-03-13 22:00:29
1615
原创 Maven中如何通过反射获得方法的参数实际名称
在使用反射获取方法的参数实际名称时,可以使用 -parameters 参数,但是如果是 Maven 项目的话,则需要使用 Maven 的检查,配置如下: <build> <plugins> <plugin> <artifactId>maven-compiler-plugin</artifactId> <version>3.
2022-03-05 20:57:41
791
原创 解决HTTP Status 405 - HTTP method POST is not supported by this URL 详解方案
跳转到的 servlet 中没有实现的 doPost 方法
2022-02-19 22:28:36
644
原创 Failed to start component [StandardEngine[Catalina].StandardHost[localhost].StandardContext
Failed to start component [StandardEngine[Catalina].StandardHost[localhost].StandardContext报错是因为 Maven 的包没有加入 Tomcat 的项目,向下面这样将包导入即可。
2022-02-14 21:25:05
4642
原创 org.apache.tomcat.util.descriptor.web.WebXml.setVersion Unknown version string [4.0].
我使用的 Tomcat 是 8,而我使用的 web.xml 是 4.0 的,因此该成 3.0 即可,修改后的 web.xml 如下:<?xml version="1.0" encoding="UTF-8"?><web-app xmlns="http://xmlns.jcp.org/xml/ns/javaee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocat
2022-02-13 20:33:05
1066
原创 软考高项笔记 | 项目进度管理
项目进度管理包括为管理项目按时完成所需的 7 个过程规划进度管理 定义活动 排列活动顺序 估算活动资源 估算活动持续时间 制订进度计划 控制进度
2022-02-11 23:25:57
609
原创 Unable to translate SQLException with Error code ‘0‘, will now try the fallback translator
Unable to translate SQLException with Error code '0', will now try the fallback translator发生了这个报错,原因是 jdbc read only,因为在 Service 上增加了:@Transaction(readOnly = true)而在更新方法没有增加让只读为 false...
2022-02-10 22:47:28
4861
原创 软考高项笔记 | PERT 三点估算
PERT 三点估算:期望时间:期望的一个工期,用 T 表示悲观时间:最糟糕的情况,用 T1 表示最可能时间:一般的情况,用 T2 表示乐观时间:最好的情况,用 T3 表示T = (T1 + 4T2 + T3) / 6...
2022-02-09 21:55:05
1986
原创 软考高项笔记 | 收集需求的工具与技术
手机需求的工具与技术访谈 焦点小组 引导式研讨会 群体创新技术 群体决策技术 问卷调查 观察 原型法 标杆对照 系统交互图 文件分析
2022-02-08 22:20:52
649
原创 Servlet 的继承关系
javax.servlet.Servlet --> javax.servlet.GenericServlet --> javax.servlet.HttpServlet
2022-02-06 21:29:20
1135
原创 Windows 下 Nginx 启动报错 ngx_slab_alloc() failed: no memory
Windows 系统下启动 Nginx 时报错,报错内容如下:ngx_slab_alloc() failed: no memory这里在网上找了找,但是没有找到可以解决问题的。我在 Nginx 下配置了 RTMP ,配置如下:application rtmplive { live on; max_connections 1024;}这里我将 max_connections 注释掉就 OK 了...
2022-02-04 22:47:41
3223
原创 软考高项笔记 | 项目评估的依据
项目评估的依据项目建议书及其批准文件 项目可行性研究报告 报送单位的申请报告及主管部门的初审意见 有关资源、配件、燃料、水、电、交通、通信、资金(包括外汇)等方面的协议文件 必需的其他文件和资料...
2022-02-01 22:40:57
553
原创 软考高项笔记 | 详细可行性研究的内容
详细可行性研究的内容(1)概述(2)需求确定(3)现有资源、设施情况分析(4)设计(初步)技术方案(5)项目实施进度计划建议(6)投资估算和资金筹措计划(7)项目组织、人力资源、技术培训计划(8)经记和社会效益分析(效果评价)(9)合作/协作方式...
2022-01-31 22:07:26
1218
原创 软考高项笔记 | 可行性研究的步骤
可行性研究的步骤确定项目规模和目标 研究正在运行的系统 建立新系统的逻辑模型 导出和评价各种方法 推荐可行性方案 编写可行性研究报告 递交可行性研究报告
2022-01-30 23:36:05
639
原创 JVM | 垃圾回收的算法
垃圾回收的算法标记遍历 GC-ROOT 把可达的对象进行标记清除将没有标记的对象进行清除整理移动存活的对象,按内存地址进行排列,将其后的内存进行回收复制提供同等大小的内存,将存活的对象复制到该块内存,原内存中的对象清除...
2022-01-29 22:22:05
654
原创 软考高项笔记 | 可行性研究的内容
可行性研究的内容技术可行性分析 进行项目开发的风险 人力资源的有效性 技术能力的可能性 物资(产品)的可用性 经济可行性分析 支出分析 收益分析 收益投资比 敏感性分析 运行环境可行性分析 其他方面的可行性分析...
2022-01-28 23:49:04
966
原创 软考高项笔记 | 立项管理内容
立项管理内容项目建议书 项目建议书 项目建议书内容 项目可行性研究报告 项目招投标 招标 投标 评标 选定项目承建方
2022-01-27 23:21:17
437
Mysql 复习秘籍 面试宝典 快速入门 进阶必备
2023-04-03
olemdb32.dll病毒专杀
2013-03-27
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人