自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(37)
  • 资源 (3)
  • 收藏
  • 关注

原创 小解简单工厂和抽象工厂

总的来说,简单工厂模式适合于创建单一对象,而抽象工厂模式适合于创建一系列相关对象的家族。两者都能有效地封装对象的创建过程,提高了代码的可维护性和扩展性。简单工厂模式和抽象工厂模式都属于工厂模式的范畴,它们都用于对象的创建,但在实现上有所不同。

2024-02-28 15:25:39 353

原创 小问题详解:OSI七层模型

OSI(Open Systems Interconnection)开放系统互联模型是一个基于通信系统互连的标准化框架,用于不同计算机系统之间的通信。OSI模型将计算机网络通信划分为七个层次,每个层次都有特定的功能和责任,便于理解和管理网络通信。

2024-02-28 14:54:32 835

原创 2024Java面试题二

可以使用 Collections.unmodifiableXXX() 方法创建一个只读的集合,或者使用 CopyOnWriteArrayList、ConcurrentHashMap 等线程安全的集合类。LinkedList 是基于链表实现的,支持快速插入和删除,适用于写入操作较多的场景。HashMap 和 HashTable 都是键值对存储的集合类,但前者不是线程安全的,后者则是线程安全的。ConcurrentHashMap 是线程安全的 HashMap 实现,它使用了分段锁的思想,可以支持更高的并发度。

2024-02-27 16:30:54 410

原创 2024Java面试题一

重载是指在同一个类中,方法名相同但参数列表不同的多个方法,编译器根据参数列表选择调用不同的方法;多态性指的是同一个方法调用可以有不同的行为,具体表现为父类类型的引用指向子类对象时,通过该引用调用被子类重写的方法,实际上会调用子类的方法。接口是一种更加抽象的类,只包含常量和抽象方法,类似于约定或协议。集合框架提供了一组接口和类用于存储和操作对象集合,常用的集合类包括ArrayList、LinkedList、HashMap等。反射是在运行时获取类的信息并操作类的属性和方法,常用于框架和工具开发。

2024-02-27 16:25:25 900

原创 SpringBoot事务传播机制

事务传播机制是指在数据库系统中,当多个事务同时存在时,系统需要确定这些事务之间的交互关系和影响范围。在实际应用中,事务传播机制可以用于控制事务的边界和范围,确保事务之间的隔离性和一致性。需要注意的是,不同的数据库和编程框架可能对事务传播机制有所差异,开发人员需要结合具体的技术栈和需求来选择合适的事务传播规则,并确保事务的正确性和稳定性。方法将会加入同一个事务中,如果当前已经存在事务,则加入该事务;:以非事务方式执行操作,如果当前存在事务,则挂起当前事务。:创建一个新事务,如果当前存在事务,则挂起当前事务。

2024-02-23 15:35:32 417

原创 Map和List初始化

如果要可变,那就使用 ArrayList 再包装一下,如下面所示。put(1,"未开始");put(2,"进行中");

2024-02-22 15:34:58 363

原创 Java架构师之路十三、项目实战:通过实际项目的经验,提高架构师的实战能力和经验

总之,通过参与多样化项目、承担责任和挑战、寻求反馈和总结经验、学习最佳实践、跨学科合作、持续学习和更新知识以及主动承担新的挑战,你可以通过实际项目的经验提高架构师的实战能力和经验。参与多样化项目:尽可能参与各种不同类型的项目,包括规模大小、技术栈、行业领域等方面的多样化项目。持续学习和更新知识:由于技术领域不断发展变化,你需要保持学习的状态,不断更新自己的知识和技能,以适应新的挑战和需求。主动承担新的挑战:在项目中主动寻找新的机会和挑战,比如尝试新的技术、方法或工具,以拓展自己的技术视野和实战经验。

2024-02-22 14:20:04 372

原创 Java架构师之路十二、技术领导力:具备团队管理和技术领导能力,能够带领团队完成复杂的技术项目

总之,通过建立良好的沟通和协作氛围、设定清晰的目标、发挥团队成员的优势、提供支持和资源、管理风险和挑战、激励团队以及持续学习和改进,你可以具备团队管理和技术领导能力,带领团队完成复杂的技术项目。持续学习和改进:作为技术领导者,你需要不断学习和更新自己的技术知识,并不断改进自己的领导能力。设定清晰的目标和期望:明确定义项目的目标、范围和时间表,并向团队传达清晰的期望。发挥团队成员的优势:了解团队成员的技能、兴趣和动机,并根据他们的优势安排任务和责任。管理风险和挑战:在复杂的技术项目中,会遇到各种风险和挑战。

2024-02-22 14:18:13 359

原创 Java架构师之路十一、业务理解:深入理解业务领域,能够将技术应用于业务解决方案中

持续学习和更新知识:由于业务领域和技术都在不断发展变化,要保持对行业动态的关注,进行持续学习和更新知识。实践和经验积累:通过实践项目和参与实际业务案例,提升自己在业务领域的理解和技术应用能力。通过与客户的沟通和交流,深入了解他们的业务目标和期望,从而确定如何将技术应用于解决问题。总之,通过深入了解业务领域、与客户合作、掌握相关技术、跨部门合作、实践经验和持续学习,你可以将技术应用于业务解决方案中,为业务带来更大的价值。通过与不同团队的合作,可以更好地理解业务需求,并找到合适的技术解决方案。

2024-02-22 14:16:32 346

原创 Java架构师之路十、框架和工具:Spring Framework、Spring Boot、Spring Cloud、MyBatis、Hibernate、Dubbo、Zookeeper、Redis等

总的来说,Spring框架是一个功能强大、灵活且广泛应用的Java框架,它提供了丰富的功能和组件,帮助开发者构建高效、可扩展和易维护的企业级应用程序。总的来说,Spring Cloud是一个强大的微服务解决方案,通过提供丰富的工具和框架,使得开发人员能够更加便捷地构建、部署和管理分布式系统。总的来说,Dubbo是一个强大且易于使用的分布式服务框架,通过提供完善的服务治理功能和高性能的RPC通信机制,帮助开发者构建稳定、高效的微服务架构。通过Spring的数据访问模块,开发者可以更加方便地访问和操作数据库。

2024-02-22 14:11:51 937

原创 Java架构师之路九、设计模式:常见的设计模式,如单例模式、工厂模式、策略模式、桥接模式等

抽象工厂模式提供一个接口,用于创建一系列相关或相互依赖的对象。

2024-02-22 14:04:13 1787

原创 Java架构师之路八、安全技术:Web安全、网络安全、系统安全、数据安全等

组织和个人应采取系统安全的综合措施,以确保系统的可靠性、完整性和保密性,同时持续关注系统安全领域的最新发展,提升系统安全的防护能力。数据安全涉及技术、策略、流程和人员等多个方面,需要综合考虑数据的保密性、完整性和可用性,以及合规性和风险管理等因素。组织和个人应采取综合的网络安全措施,以保护自己的网络资产和敏感信息,并不断跟进最新的安全威胁和解决方案,以持续提升网络安全防护能力。:对数据的整个生命周期进行管理,包括数据收集、存储、传输、处理和销毁等环节,确保数据安全合规,避免数据被滥用或泄露。

2024-02-22 13:47:31 1318

原创 Java架构师之路七、大数据:Hadoop、Spark、Hive、HBase、Kafka等

Hive提供了一种类SQL语言,称为HiveQL,以便将结构化数据映射到Hadoop分布式文件系统中的表中,并提供了数据查询、转换和分析的功能。由于其分布式、高可靠性和高性能的特点,HBase在大数据领域得到了广泛的应用。:Spark提供了丰富的API,支持多种编程语言(如Scala、Java、Python、R等),并提供了交互式的Shell,使得用户可以方便地进行数据处理和分析。此外,Hadoop还有一些其他的相关组件,如Hive、Pig、HBase等,用于支持数据查询、数据清洗和实时数据处理等任务。

2024-02-22 13:39:29 3464 4

原创 Java架构师之路六、高并发与性能优化:高并发编程、性能调优、线程池、NIO、Netty、高性能数据库等。

支持 scatter/gather: Java NIO 提供了分散(scatter)和聚集(gather)的操作方式,允许一个通道的数据同时读入到多个缓冲区中,或者将多个缓冲区中的数据同时写出到一个通道中,这样可以更加灵活地处理数据。keepAliveTime: 非核心线程的存活时间,当线程数超过核心线程数时,多余的空闲线程的存活时间,超过该时间将被销毁。总的来说,Java 线程池是多线程编程中的重要工具,能够提高程序性能、降低资源消耗,并且能够有效地管理线程,确保系统的稳定性和可靠性。

2024-02-22 13:23:35 1432

原创 Java架构师之路五、微服务:微服务架构、服务注册与发现、服务治理、服务监控、容器化等。

在基于Zookeeper的服务注册与发现中,服务提供者将自己的服务注册到Zookeeper中,服务消费者从Zookeeper中获取服务提供者的信息。在基于Nacos的服务注册与发现中,服务提供者将自己的服务注册到Nacos中,服务消费者从Nacos中获取服务提供者的信息。容器化技术的核心是容器,它是一个轻量级、独立的运行单元,包含了应用程序的代码、运行时环境、系统工具和依赖库等,能够在不同的计算环境中保持一致的运行。服务注册与发现:服务注册与发现是服务治理的基础,通过服务注册中心(如Nacos)实现。

2024-02-22 11:26:39 1350

原创 Java架构师之路四、分布式系统:分布式架构、分布式数据存储、分布式事务、分布式锁、分布式缓存、分布式消息中间件、分布式存储等。

锁的实现方式:常见的分布式锁实现方式包括基于数据库的实现(使用行级锁或乐观锁)、基于缓存的实现(使用Redis、Memcached等分布式缓存)、基于ZooKeeper、etcd等分布式协调服务的实现,以及基于分布式锁算法的自定义实现等。缓存穿透和雪崩:分布式缓存需要考虑缓存穿透(即请求的数据在缓存中不存在,导致请求直接访问数据库)和缓存雪崩(即大量缓存同时失效,导致请求集中访问后端存储)等问题,通常通过预热、降级、限流等手段来应对。分布式锁通常用于控制对共享资源的访问,以确保系统的一致性和正确性。

2024-02-22 10:53:50 1509

原创 Java架构师之路三、网络通信:TCP/IP协议、HTTP协议、RESTful API、WebSocket、RPC等。

它使用HTTP协议中的请求方法(GET、POST、PUT、DELETE等)和状态码(200、404、500等)来表示资源的状态和操作,使得API接口具有简单、灵活、可扩展、易于开发等优点。TCP/IP协议栈:TCP和IP协议是互联网通信的核心协议,它们与其他协议(如HTTP、FTP、SMTP等)一起构成了TCP/IP协议栈。与HTTP协议兼容:RESTful API与HTTP协议兼容,使得它可以使用HTTP协议中的各种特性,如缓存、安全性等,提高API接口的性能和安全性。

2024-02-22 10:32:52 1591

原创 Java架构师之路二、数据库:SQL语言、关系型数据库、非关系型数据库、数据一致性、事务管理等。

它们提供了可靠的数据存储和高效的数据查询功能,是传统数据库领域的主要技术。最终一致性(Eventual Consistency):最终一致性是弱一致性的一种形式,它允许系统中的不同节点之间在一段时间内存在数据的不一致,但最终会达到一致的状态。使用INSERT INTO语句可以向表中插入新的数据,使用UPDATE语句可以更新表中的数据,使用DELETE FROM语句可以删除表中的数据。灵活的数据模型和查询语言:非关系型数据库提供了灵活的数据模型和查询语言,可以根据具体的应用场景进行定制化的数据存储和查询。

2024-02-22 10:17:34 1356

原创 Java架构师之路一、Java基础知识:Java语言特性、集合框架、IO流、多线程、反射、注解等基础知识。

Java语言特性是Java编程中非常重要的一部分,包括自动内存管理、跨平台、异常处理、泛型、Lambda表达式等。下面对这些特性进行详细解释:自动内存管理:Java通过垃圾回收机制实现自动内存管理。程序员可以通过new关键字创建对象,不需要手动分配和释放内存,由垃圾回收机制自动回收无用的对象。这种自动内存管理机制可以减少内存泄漏和野指针等问题,提高程序的健壮性和安全性。跨平台:Java程序可以在不同的操作系统上运行,这得益于Java虚拟机(JVM)的存在。

2024-02-22 09:38:46 959

原创 Java架构师之路前言、确定学习方案

框架和工具:Spring Framework、Spring Boot、Spring Cloud、MyBatis、Hibernate、Dubbo、Zookeeper、Redis等常用框架和工具。框架和工具:Spring Framework、Spring Boot、Spring Cloud、MyBatis、Hibernate、Dubbo、Zookeeper、Redis等常用框架和工具。Java架构师需要具备广泛的知识和技能,包括Java编程、数据库、网络通信、分布式系统、微服务、容器化、性能调优等方面的知识。

2024-02-22 08:58:51 940

原创 java 基本类型的引用传递方法

String: 用 StringBuffer(线程安全的)基本类型想要引用传递需要用原子类,布尔值:AtomicBoolean。整形:AtomicInteger。

2023-08-11 16:07:32 181

原创 Java SpringBoot 数据库多表联查Join操作

【代码】Java SpringBoot 数据库多表联查Join操作。

2023-08-10 19:21:04 386

原创 list去重

【代码】list去重。

2023-07-31 08:43:07 78

原创 银行卡卡号加解密

【代码】银行卡卡号加解密。

2023-07-22 09:25:54 230

原创 java 出现 Illegal base64 character 2d

base64编码出现的问题。

2023-07-22 09:24:55 1770

原创 Java List 和 Array 互转

List 转 Array。Array 转 List。

2023-06-20 16:25:27 145

原创 Map里的数组处理

【代码】Map里的数组处理。

2023-06-01 11:38:23 140

原创 远程主机强迫关闭了一个现有的连接。Reconnected to 127.0.0.1:6379 Reconnecting, last destination was /127.0.0.1:6379

springboot 连接 redis 总是莫名奇妙断开。

2023-05-25 16:42:03 1229 1

原创 java中json和class实体互转,json和map互转,map和class互转

【代码】java中json和class实体互转,json和map互转,map和class互转。

2023-05-25 11:34:56 1402 1

原创 设置Idea文件头注释格式

【代码】设置Idea文件头注释格式。

2023-05-18 10:24:26 186

原创 Idea常用配置自动换行快捷键、自动导入依赖包、注释自动缩进

自动换行快捷键,自动导入依赖包

2023-05-18 09:56:04 928

原创 初始化List和Map时直接赋值

如果要可变,那就使用 ArrayList 再包装一下。

2023-05-18 09:51:48 227 1

原创 windows安装JDK1.8并配置环境变量

去掉Path里的 配置 C:\Program Files (x86)\Common Files\Oracle\Java\javapath,这个会和安装的冲突。链接:https://pan.baidu.com/s/1Vgr4zzQokgDXNltu8upsMA?我自定义的目录分别是 D:\soft\java\jdk1.8 和 D:\soft\java\jre1.8。可以自定义安装目录,安装jre的时候还让选目录,也自定义一个目录就行。下载好后,一路双击下一步,直到显示安装完成。2添加变量 到path。

2023-05-15 10:17:24 86 1

原创 Invalid bound statement (not found)错误记录

我遇到的情况与之不同,问题犯得比较低级,所以记录一下,希望能帮到有需要的小伙伴。就是resources 下面 的xml文件必须放在 mapper 文件夹下。我一开始写成了dao文件夹,以为随便什么文件夹都能自动识别,其实不是的。这个应该能配置,我就不搜了,经测试 mapper 这个名字是没问题的。百度大部分能搜索出5个解决方案,我就不赘述了。

2023-04-18 15:30:48 30 1

原创 Spring Security 认证和授权流程备忘

spring security 认证和授权流程备忘

2023-04-11 18:42:45 317

原创 php对接海康api样例

php对接海康api样例直接上代码 <?php /** * Author hlx * Email 5644139**@qq.com * time 2019-01-31 */header('Content-type:text/html; Charset=utf-8');date_default_timezone_set('PRC');class Ha...

2019-02-20 10:19:43 7404 15

原创 银联支付php单文件实现

/*首次写csdn 博客 , 如有不足 , 还望包含 .  微信和支付宝单文件实现接口的文章较多 , 也就不往上写了 .  因为网上银联接口php方面的信息比较少, 只是需要调用银联退款接口 . 用银联下载的sdk怎么调 都报签名错误 .  后来自己基于银联 sdk 封装了一个单文件 实现 银联 查询 和 退款的接口 ,如果有需要的也可以自行添加其他接口 , 都比较简单.  其中log类可以自定义...

2018-11-02 17:45:07 985 2

微信小程序蓝牙连接

微信小程序蓝牙连接 , 后台获取相关信息post传输给小程序就可以用了 .

2018-12-20

微信公众号蓝牙连接php实现(原生)

微信公众号蓝牙连接php实现(原生) . /*此代码仅做参考 , 具体还需多加尝试,当时历时一周才做出来,有些内容需要和硬件开发者沟通 , 比如连接规则.*/

2018-12-20

phpExcel二次封装简单调用备用留存

phpExcel二次封装简单调用备用留存,$page_dates = "数据库数据" $title = array('序号1','序号2','序号3','序号4','序号5','头像'); //标题 $width = array('16','16','20','20','20','20'); //设置 $content = array(); foreach($page_dates as $k=>$val){ $content[$k][0] = $val[序号1值]; $content[$k][1] = $val[序号2值]; $content[$k][2] = $val[序号3值]; $content[$k][3] = $val[序号4值]; $content[$k][4] = $val[序号5值]; $face_img = $val[头像]; $content[$k][5] = $face_img?$face_img.'%hlx_excel%img':''; //图片这样调取 } setValue($title,$content,$width);

2018-12-20

空空如也

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

TA关注的人

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