一切福田,不離方寸,從心而覓,感無不通。

Category Archives: Programming Language

ConcurrentHashMap

HashMap 在高并发下会出现链表环,从而导致程序出现死循环。高并发下避免 HashMap 出问题的方法有两种,一是使用 HashTable,二是使用 Collections.syncronizedMap。但是这两种方法的性能都能差。因为这两个在执行读写操作时都是将整个集合加锁,导致多个线程无法同时读写集合。高并发下的 HashMap 出现的问题就需要 ConcurrentHashMap 来解决了。

龙生   24 Mar 2022
View Details

fastjson:字符串转数组、json对象转Map集合

 

龙生   17 Mar 2022
View Details

注解Annotation实现原理与自定义注解例子

什么是注解?
对于很多初次接触的开发者来说应该都有这个疑问?Annotation是Java5开始引入的新特征,中文名称叫注解。它提供了一种安全的类似注释的机制,用来将任何的信息或元数据(metadata)与程序元素(类、方法、成员变量等)进行关联。为程序的元素(类、方法、成员变量)加上更直观更明了的说明,这些说明信息是与程序的业务逻辑无关,并且供指定的工具或框架使用。Annotation像一种修饰符一样,应用于包、类型、构造方法、方法、成员变量、参数及本地变量的声明语句中。
Java注解是附加在代码中的一些元信息,用于一些工具在编译、运行时进行解析和使用,起到说明、配置的功能。注解不会也不能影响代码的实际逻辑,仅仅起到辅助性的作用。包含在 java.lang.annotation 包中。

龙生   16 Mar 2022
View Details

Java提高篇——Java 异常处理

异常的概念
异常的体系结构
Java 异常的处理机制
异常处理的基本语法
异常链
自定义异常

龙生   16 Mar 2022
View Details

java单应用重启脚本

 

龙生   15 Mar 2022
View Details

C#与Java互通AES算法加密解密

利用AES加密算法对报文进行加密解密,实现C#与Java互通,网上查了一堆也许是因为版本的原因都用不了,于是还是静心下来自己写个

龙生   11 Mar 2022
View Details

解决go: go.mod file not found in current directory or any parent directory; see 'go help modules'

当go build的时候报错如下(或者golang的版本从1.6升级到1.16之后报错如下)
go module是go官方自带的go依赖管理库,在1.13版本正式推荐使用
go module可以将某个项目(文件夹)下的所有依赖整理成一个 go.mod 文件,里面写入了依赖的版本等 使用
go module之后我们可不用将代码放置在src下了 使用 go module 管理依赖后会在项目根目录下生成两个文件 go.mod 和go.sum

龙生   08 Mar 2022
View Details

Netty 入门 — 什么是 Netty?

Netty 是 一个异步事件驱动的网络应用程序框架,用于快速开发可维护的高性能协议服务器和客户端。

Netty 是一个 NIO 客户端服务器框架,可以快速轻松地开发协议服务器和客户端等网络应用程序。它极大地简化和流线了网络编程,例如 TCP 和 UDP 套接字服务器。

“快速和简单”并不意味着生成的应用程序会受到可维护性或性能问题的影响。Netty 是经过精心设计的,它借鉴了许多协议(如 FTP、SMTP、HTTP 以及各种基于二进制和基于文本的遗留协议)的实现经验。因此,Netty 成功地找到了一种方法,可以在不妥协的情况下实现易于开发、性能、稳定性和灵活性。

龙生   28 Feb 2022
View Details

Java网络编程IO模型 — BIO、NIO、AIO详解

1.1 I/O模型基本说明
I/O模型的简单理解:I/O模型就是用什么样的通道进行数据的发送和接受,很大程度上决定了程序通信的性能
1.2 Java支持的3种网络编程I/O模式:BIO、NIO、AIO
1.3 JavaBIO(同步阻塞)
1.4 JavaNIO (同步非阻塞)
1.5 JavaAIO(异步非阻塞)

龙生   28 Feb 2022
View Details

解决出现“未能加载文件或程序集“System.Net.Http.Formatting, Version=5.2.3.0”的问题

我们在使用C#开发WebApi等相关程序时,可能因为某些原因会出现如下图所示的错误,原因就是我们在编译的时候,使用的dll库可能和最初的发生了改变,导致版本不一致造成的。

龙生   23 Feb 2022
View Details
1 36 37 38 177