自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 Oracle存储字段类型

BINARY_FLOAT 和 BINARY_DOUBLE 数据类型是 Oracle 中的二进制浮点数类型,用于存储小数。推荐使用 NUMBER 或 DECIMAL 数据类型来存储小数,因为它们可以指定精度和刻度,避免精度问题。Oracle 中有多种数据类型,可以存储不同的数据类型。NUMBER 数据类型是 Oracle 中最常用的数字数据类型,可以存储小数。NUMBER 数据类型是 Oracle 中最常用的数字数据类型,易于维护和管理。总之,选择合适的数据类型来存储小数,取决于具体的应用场景和需求。

2024-05-16 19:07:13 447

原创 java中小数处理

精度:BigDecimal 类可以提供任意精度的小数表示,而 float 和 double 数据类型的精度是固定的(约 6-7 位十进制数字和 15-16 位十进制数字)。可以使用 String 数据类型来表示小数,并使用 Float.parseFloat() 或 Double.parseDouble() 方法将其转换为浮点数。注意:float 数据类型的精度约为 6-7 位十进制数字,而 double 数据类型的精度约为 15-16 位十进制数字。// 舍入到 2 位小数。// 设置精度为 2 位小数。

2024-05-16 15:54:10 957

原创 正向代理和反向代理

反向代理隐藏了目标服务器的真实身份,客户端只能看到代理服务器的身份,而代理服务器负责将请求路由到多个后端服务器上,以提供负载均衡、缓存、安全过滤等功能。正向代理隐藏了客户端的真实身份,目标服务器只能看到代理服务器的身份,因此可以用于突破访问限制、隐藏客户端真实 IP 地址等场景。客户端向反向代理发送请求,然后反向代理将请求转发给后端的目标服务器,再将目标服务器的响应返回给客户端。客户端向代理服务器发送请求,然后代理服务器将请求转发给目标服务器,并将目标服务器的响应返回给客户端。

2024-04-12 17:15:21 472

原创 为什么要在内网做多次转发

*安全性:**通过在内网进行多次转发,可以将内部系统与外部网络隔离,提高了整体系统的安全性。内网通常受到更严格的访问控制和监控,可以减少外部攻击的可能性。**性能优化:**在内网进行多次转发可以减少外部请求对内网系统的直接冲击,避免外部请求直接访问内网资源,从而减轻服务器的压力,提高系统的性能和稳定性。**代理服务:**内网多次转发也可以用于设置代理服务,通过代理服务对外部请求进行过滤和处理,保护内网资源不受非法访问或恶意攻击。

2024-03-14 20:38:04 367

原创 apache

该模式是由线程来监听客户的连接。在上面的示例中,错误日志会被记录在 /var/log/apache2/error.log,而访问日志则会被记录在 /var/log/apache2/access.log,采用了 combined 格式。在上面的示例中,所有访问 http://www.example.com 的请求都会被重定向到 https://www.example.com。值得注意的是,为了确保安全性,建议定期审查 Apache 的配置文件,并采取必要的安全措施,比如限制目录访问权限、禁用不必要的模块等。

2024-03-14 10:39:28 831

原创 oracle数据库序号

通过 employee_seq.NEXTVAL 可以获取序列的下一个值,从而为 employee_id 字段赋予一个唯一的值。在这个表中,employee_id 是主键字段,我们可以使用序列来为 employee_id 字段生成唯一的标识。上述语句创建了一个名为 employee_seq 的序列,从 1 开始递增,每次递增值为 1,而且不会进行缓存。这样,每次插入新的员工信息时,employee_id 字段都会自动获得一个唯一的值,保证数据的完整性和唯一性。

2024-03-13 17:12:04 476

原创 良好的编码习惯

通过持续实践这些良好的代码习惯,开发者可以提高自己的编码效率和代码质量,同时也有助于提升整个团队的协作效率和项目的成功率。不要忽略可能出现的异常情况,即使是在认为“这里不可能出错”的代码段也应该进行适当的错误处理。分支管理:遵循一定的分支策略,如 Git Flow 或 GitHub Flow,以保持项目的组织性和可管理性。例如,如果可以使用简单的条件表达式替代复杂的逻辑判断,那么应该优先考虑简单的方式。持续学习新的编程技术和最佳实践,不断地对现有代码进行重构和优化,以提高代码质量和性能。

2024-03-11 16:44:37 415 1

原创 linux命令

rsync -avz source_directory user@host:destination_directory 高效同步本地和远程目录。docker run -d --name container_name image_name 运行Docker容器。chown user:user file_or_directory 更改文件或目录的所有者。cp -r source_directory target_directory 复制目录。mv old_name new_name 重命名或移动文件/目录。

2024-03-11 16:39:06 328 1

原创 hash常用

4.HMAC(Hash-based Message Authentication Code):HMAC是一种基于哈希算法的消息认证码,结合了哈希算法和密钥,用于验证消息的完整性和真实性,常用于网络通信中的身份认证和数据完整性验证。常见的哈希算法包括MD5、SHA-1、SHA-256等。2.输入唯一性:对于不同的输入,哈希算法应该生成唯一的输出,即使输入数据只有微小的改动,其哈希值也应该大不相同。5.碰撞概率低:好的哈希算法应当有很低的碰撞概率,即不同的输入数据生成相同的哈希值的可能性非常小。

2024-03-09 11:23:08 377 1

原创 linux、windows

总的来说,针对不同的应用场景和需求,Linux 和 Windows 在性能方面都有各自的优势,选择适合自己需求的系统,并通过优化来提高系统性能是非常重要的。系统设计和优化:Linux 在设计上更加注重服务器和高性能计算领域的优化,而 Windows 更注重桌面应用和游戏领域的优化。Windows:Windows 也有很好的硬件利用率,尤其在桌面环境下易用性较好,对于游戏和一般办公应用有良好的性能支持。使用高效的编程语言和库:选择合适的编程语言和库来开发应用程序,以提高系统的性能。

2024-03-08 17:31:26 314 1

原创 Oracle 存储过程

【代码】Oracle 存储过程。

2024-03-08 14:52:51 326 1

原创 redis、mongodb、elasticsearch

安全与权限控制:使用 Elasticsearch 提供的安全特性,实现对数据的访问权限控制、用户认证和角色管理,确保数据的安全性和隐私保护。数据备份与恢复:利用 Elasticsearch 的快照和恢复功能,对索引数据进行定期备份,并在需要时恢复数据,保证数据的安全性和可靠性。地理位置搜索:利用 Elasticsearch 的地理信息功能,存储和搜索地理位置信息,实现地理位置相关的搜索和分析功能。搜索性能优化:结合具体的查询需求和数据量,使用合适的索引策略、查询优化和分片配置,优化搜索性能,提高搜索效率。

2024-03-08 14:35:01 360 3

原创 大型分布式系统实践和主流微服务框架理解

**Spring Cloud:***Spring Cloud 提供了一整套微服务解决方案,包括服务注册与发现(Eureka、Consul)、服务调用(Feign、RestTemplate)、断路器(Hystrix)、API 网关(Zuul、Spring Cloud Gateway)等组件,支持快速搭建和管理微服务架构。***Kubernetes:***作为容器编排引擎,Kubernetes 提供了强大的容器集群管理功能,支持自动化部署、扩展和管理容器化应用程序,是构建微服务架构的理想选择。

2024-03-08 14:25:07 336 1

原创 mysql性能优化

优化 SELECT 查询。使用 JOIN 优化。利用索引避免全表扫描。

2024-03-08 14:15:11 324 1

原创 elasticsearch性能优化

合理配置段缓存:通过调整 index.merge.scheduler.max_thread_count、indices.memory.index_buffer_size、indices.memory.min_index_buffer_size 等参数来优化段缓存的性能。合理设置分片和副本:根据数据量和集群规模设置合适的分片数量和副本数量,避免分片过多或过少。精简映射:避免过多的字段映射,只保留必要的字段,并根据字段类型设置合适的数据类型。定期优化:定期分析性能指标,根据实际情况调整优化策略,持续改进性能。

2024-03-08 11:50:21 345 1

原创 消息中间件

通过使用消息中间件,可以更好地构建可靠、高效的分布式系统,实现系统之间的异步通信和解耦。消息队列(Message Queue):消息中间件通过消息队列来存储和传递消息,保证消息的可靠性和顺序性。解耦:通过消息中间件,生产者和消费者之间解耦,避免直接依赖,提高系统的灵活性和可维护性。异步通信:生产者和消费者之间的通信是异步的,提高系统的响应速度和吞吐量。异步任务处理:将耗时的任务放入消息队列中异步处理,提高系统的响应速度。日志收集:通过消息中间件收集和处理系统产生的日志,方便监控和分析。

2024-03-08 11:35:31 309 1

原创 redis常见性能优化

示例:根据实际需求选择合适的数据结构,如字符串、哈希、列表、集合等。示例:使用 Redis 监控工具如 Redis 命令行客户端、RedisInsight 等进行性能监控和调优,及时发现和解决性能问题。示例:尽量减少单个命令的调用次数,考虑使用批量操作命令如 MSET、MGET、DEL 等,减少网络开销和命令执行时间。示例:根据数据重要性和系统要求选择合适的持久化方式,可以是 RDB 快照、AOF 日志或混合模式。示例:考虑使用 Redis 集群或分片技术,将数据分布在多个节点上,提高性能和可伸缩性。

2024-03-08 11:31:08 343 1

原创 Oracle性能优化

当优化 Oracle 数据库性能时,优化 SQL 查询是至关重要的一部分。定期收集表的统计信息,以便优化查询执行计划。根据实际需求调整 SGA、PGA 的大小以提高性能,确保数据库有足够的内存支持查询和事务处理。避免在 SQL 中硬编码参数值,使用绑定变量可以提高 SQL 语句的重用性和性能。尽量避免嵌套子查询或重复执行相同的子查询,考虑优化为 JOIN 或其他方式。调整数据库连接池的大小和管理方式,以适应并发连接数的需求。监控长时间运行的查询和事务,及时发现性能问题并进行优化。

2024-03-08 11:11:33 373 1

原创 使用Socket编程、NIO和多线程技术来构建一个简单的聊天应用

服务器:使用ServerSocketChannel和Selector处理来自多个客户端的连接请求和消息,以非阻塞方式读写数据。客户端:使用SocketChannel与服务器建立连接,并在独立的线程中监听来自服务器的消息。客户端可以发送消息到服务器,服务器再将消息广播给所有客户端。多线程:服务器利用NIO的非阻塞特性处理多个连接,而客户端使用一个额外的线程来异步地接收来自服务器的消息。客户端:通过一个单独的线程监听服务器发来的消息,并在主线程中读取用户输入,发送给服务器。

2024-03-08 10:54:07 338 1

原创 Socket、Nio、多线程编程

在Java中,Socket编程、NIO(非阻塞I/O)和多线程编程是实现高效网络应用的关键技术。NIO是Java提供的一种新的I/O API,支持非阻塞模式,使得程序可以同时处理多个通道(Channel)上的I/O操作。多线程与并发编程:掌握Java中的多线程编程技巧和java.util.concurrent包中的并发工具类使用。在实际开发中,经常需要将Socket编程、NIO和多线程编程结合起来使用,以实现高性能的网络服务。利用NIO的非阻塞模式和选择器来管理多个客户端连接,提高应用的响应能力和吞吐量。

2024-03-08 10:13:56 311 1

原创 tomcat和nginx服务器的常用配置

Tomcat和Nginx是两种常见的Web服务器,它们经常被用在一起,其中Nginx作为反向代理服务器和负载均衡器,而Tomcat则处理具体的Java应用程序。Tomcat的主要配置文件是conf/server.xml,其中包含了关于服务端口、连接器(Connector)、虚拟主机等的配置。Nginx的主要配置文件是nginx.conf,通常位于/etc/nginx/或/usr/local/nginx/conf/目录下。根据具体的应用场景和需求,可能还需要进行更多的配置和优化。

2024-03-08 09:57:48 360 1

原创 oracle数据库千万数据表设置自动分区sql

Oracle提供了一种名为“间隔分区”(Interval Partitioning)的功能,允许自动基于指定的间隔创建新的分区。起始分区(在示例中是p_before_2023)是必需的,它定义了第一个分区的边界,并且Oracle将从这个点开始自动创建后续的分区。使用间隔分区时,所有自动创建的分区将采用系统生成的名称,但你也可以通过ALTER TABLE命令手动重命名分区。当数据插入到表中且该数据所属的分区不存在时,Oracle会根据间隔设置自动创建新的分区。

2024-03-08 09:48:33 451 1

原创 oracle百万数据表

在这个例子中,根据region_id字段的值,表orders被划分为四个分区:p_north、p_south、p_east和p_west。在这个例子中,根据order_date字段的值,表orders被划分为四个分区:p2020、p2021、p2022和p2023。在创建分区表之前,请确保你的Oracle版本支持所需的分区类型,并考虑好分区策略对于未来数据增长和维护的影响。Oracle还支持更复杂的分区策略,如复合分区(结合了两种或以上的分区方法),可以根据具体需求进行设计。

2024-03-08 09:42:04 871 1

原创 【无标题】

*阻塞:**同步任务会阻塞程序的执行,直到当前任务执行完成才会执行下一行代码;**执行方式:**同步任务按照顺序执行,每一行代码都会等待上一行代码执行完毕后再执行;事件处理:当绑定事件处理函数时,程序会继续执行后续代码,直到事件触发后才执行事件处理函数。异步函数调用:当调用一个异步函数时,程序会继续执行后续代码,而不会等待异步函数执行完毕。函数调用:当调用一个函数时,程序会等待函数执行完毕后再继续执行下一行代码。数据计算:当进行复杂的数据计算时,程序会一直执行计算过程,直到计算完成。

2023-09-25 15:38:16 23 1

原创 promise

【代码】promise。

2023-06-08 17:47:44 37 1

原创 sessionStorage使用

你好! 这是你第一次使用 Markdown编辑器 所展示的欢迎页。如果你想学习如何使用Markdown编辑器, 可以仔细阅读这篇文章,了解一下Markdown的基本语法知识。我们对Markdown编辑器进行了一些功能拓展与语法支持,除了标准的Markdown编辑器功能,我们增加了如下几点新功能,帮助你用它写博客:撤销:Ctrl/Command + Z重做:Ctrl/Command + Y加粗:Ctrl/Command + B斜体:Ctrl/Command + I标题:Ctrl/Command + S

2023-06-08 15:16:29 186 1

空空如也

空空如也

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

TA关注的人

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