自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 Bee+SpringBoot稳定的Sharding、Mongodb ORM功能(同步 Maven)

5).InheritableThreadLocal 与 parallelStream () 不兼容的 bug, 当不是分片模式时,可以用 parallelStream (), 而分片时则不建议使用 parallelStream ()2.2 之前,调用批量插入在每个批都会提交 commit, 但在 2.2 改为只调用一次且在事务中,在批量插入的方法内容不再提交,而由事务控制。你还想添加什么功能,请到评论区告诉我们. 扣群 (4) 分片时,主线程的上下文要清除。3) 仅分库时,解决上下文问题。

2024-02-08 16:52:04 1178

原创 jetty与tomcat有什么异同?各自的优缺点?

总体来说,Jetty更适合于嵌入式应用和对性能和资源消耗有较高要求的场景,而Tomcat更适合于大型Web应用和对功能和稳定性有较高要求的场景。- Tomcat是一个功能强大的Servlet容器和Web服务器,它是Apache软件基金会的一个项目。Jetty和Tomcat都是流行的Java Web服务器,它们有一些相似之处,但也有一些显著的区别。- Tomcat对JSP和Servlet有很好的支持,适合于大型Web应用的部署。- Tomcat有着广泛的应用和支持,是企业级应用中常用的Web服务器之一。

2024-02-01 11:09:13 1288

原创 判断三边是否可以组成三角形(C语言)

printf("不可以组成三角形\n");printf("可以组成三角形\n");//移项后,也会满足以下的,所以不用再写。//任意两边之差小于第三边。//任意两边之和大于第三边。

2024-01-27 13:46:38 641

原创 判断素数的程序

在这个示例中,isPrime函数用于判断一个数是否为素数。它首先排除了小于等于1的数,然后通过循环从2开始尝试除以小于等于其平方根的数,如果能被整除则返回0,表示不是素数;否则返回1,表示是素数。判断一个数是否为素数的常见算法是试除法。素数(质数)是指只能被1和自身整除的正整数,因此可以通过逐个尝试除以小于该数的所有正整数来判断一个数是否为素数。这个算法的时间复杂度为O(√n),可以在较短的时间内判断较大的数是否为素数。

2024-01-27 13:45:53 466

原创 MongoDB 查出包含有list的部分项的记录 all/in/and

MongoDB,acl是"admin", "root"时,用以下命令查:但是acl是"admin", "root","其它项";即多于列出那两项时,就查不出来;我想查包含有指定的两项时,就列出;可以多出其它项db.UserInfo.find({"acl": {$all: ["admin", "root"]}}) //至少同时包含有这两项的就查出db.UserInfo.find({"acl": {"$in": ["admin", "root"]}}) // 包含有这两项的,都查出;

2024-01-27 13:44:47 541

原创 一文看懂nginx

在这个例子中,我们定义了一个名为"backend"的upstream块,列出了三个后端服务器的地址:backend1.example.com、backend2.example.com和backend3.example.com。在upstream中列出多个后端服务器的地址和权重,Nginx将根据指定的负载均衡算法(如轮询、IP哈希、最小连接数等)将请求分发到这些后端服务器上。这样配置后,Nginx会同时处理两个server配置,并根据访问的域名或端口来决定将请求转发到哪个后端服务器上。nginx的优缺点?

2024-01-27 13:42:38 359

原创 netty主要功能介绍,主要的类介绍

3. 支持多种协议:Netty支持TCP、UDP、HTTP等多种协议的网络通信,可以用于构建各种类型的网络应用。1. 异步事件驱动:Netty使用事件驱动模型,能够高效地处理大量的并发连接和请求,提供高性能的网络通信能力。2. 高性能:Netty采用了零拷贝等技术,能够提供高性能的网络通信能力,适用于需要处理大量并发连接的场景。这些类是Netty框架中的核心组件,通过它们可以构建各种类型的网络应用,实现高性能、高可靠性的网络通信。4. Bootstrap:用于启动客户端的引导类。

2024-01-27 13:40:26 480

原创 Maven排除依赖 exclusions

Maven排除依赖 exclusions

2024-01-21 00:45:43 901 2

原创 Java设计模式中策略模式可以解决许多if-else的代码结构吗? 是否能满足开闭原则?

是的,策略模式可以帮助解决许多if-else的代码结构。通过将不同的算法封装成不同的策略类,然后在需要的时候动态地切换策略,可以避免使用大量的if-else语句来选择不同的算法。因为策略模式将不同的算法封装成不同的策略类,当需要增加新的算法时,只需要添加新的策略类即可,而不需要修改原有的代码。这样就实现了对扩展开放,对修改关闭的原则。通过这样的设计,可以动态切换支付策略,避免了大量的if-else语句。同时,如果需要增加新的支付方式,只需要实现新的支付策略类,而不需要修改原有的代码,符合开闭原则。

2024-01-21 00:44:50 454

原创 一文看懂MVC和MVVM;MVC,MVP,MVVM的区别与联系,以及它们的优缺点,应用场景

MVC (Model-View-Controller), MVP (Model-View-Presenter), 和 MVVM (Model-View-ViewModel) 都是用于构建软件应用程序的设计模式。MVP的优点包括更好的测试性和可维护性,视图和模型之间的解耦。MVVM的优点包括视图和模型之间的解耦,视图模型可以更好地管理视图的状态和行为。- MVP和MVVM都试图解耦视图和模型,但MVVM更强调数据绑定和视图模型的概念。- 视图模型(ViewModel):负责处理视图的状态和行为。

2024-01-21 00:43:55 946

原创 ORM Bee设计思想与功能思维导图

Bee,互联网新时代的Java ORM框架,支持Sharding;JDBC,Android,HarmonyOS;支持多种关系型数据库,还支持NoSQL的Cassandra,Mongodb等;更快、更简单、更自动,开发速度快,运行快,更智能!ORM Bee设计思想与功能思维导图

2024-01-18 22:33:02 826

原创 ElasticSearch是数据库吗?如何是,它是属于NOSQL吗

ElasticSearch是一种开源的分布式搜索引擎,它不是传统意义上的数据库,但可以用作数据库的一部分。,具有高可扩展性和灵活的数据模型。因此,可以将ElasticSearch视为NoSQL数据库的一种属性。ElasticSearch属于。

2024-01-18 22:28:46 1073

原创 通过Field和通过Method给一个Javabean的字段设置值,有什么区别?性能上有差别吗?

总的来说,直接访问字段(Field)和调用setter方法(Method)在功能和性能上都有各自的特点,开发者需要根据具体的需求来选择合适的方式。2. 调用setter方法(Method):通过调用JavaBean中的setter方法来设置字段的值,这种方式会经过setter方法中的逻辑检查和处理,确保了JavaBean的一致性和完整性。在性能上,直接访问字段(Field)通常比调用setter方法(Method)要快,因为它避免了方法调用的开销。

2024-01-14 23:21:03 387

原创 return (Comparator<T> & Serializable) aa;是什么意思?&有什么作用?

(Comparator & Serializable) 表示返回的对象是同时实现了Comparator接口和Serializable接口的对象。这意味着返回的Comparator对象不仅可以用于比较元素,还可以被序列化成字节流进行传输和存储。& 的作用是将多个接口合并成一个新的接口。在这种情况下,返回的Comparator对象同时具有Comparator和Serializable接口的功能。(Comparator & Serializable) 是什么意思?

2024-01-14 23:20:21 476

原创 工厂模式/抽象工厂模式的缺点及解决方法

如果需要增加新的产品,只需创建新的具体产品类和对应的具体工厂类,而不需要修改现有的客户端代码,符合开闭原则。如果需要增加新的实现类,只需要创建新的具体产品类和对应的具体工厂类,而不需要修改现有的客户端代码,符合开闭原则。抽象工厂模式可以创建一组相关或依赖的产品对象,而不需要指定它们的具体类。这样,当需要添加新的产品时,只需创建新的具体产品类和对应的具体工厂类,而不需要修改现有的代码。你说得对,如果产品的种类增加,那么工厂方法模式可能需要修改现有的代码来添加新的具体工厂类和产品类,这将违反开闭原则。

2024-01-14 23:19:42 463

原创 JAVA ORM Bee的设计模式分析

策略(Strategy)模式的定义:该模式定义了一系列算法,并将每个算法封装起来,使它们可以相互替换,策略模式属于对象行为模式,它通过对算法进行封装,把使用算法的。责任和算法的实现分割开来,并委派给不同的对象对这些算法进行管理。模板模式(Template Pattern)装饰器模式(Decorator Pattern)原型模式(Prototype Pattern)建造者模式(Builder Pattern)策略模式(Strategy Pattern)工厂模式(Factory Pattern)

2024-01-14 23:18:45 494

原创 DynamoDB和Cassandra、MongoDB的比较

其实从开发的易用角度来讲,DynamoDB没有Cassandra和MongoDB强大,Cassandra有CQL可以做非常丰富的查询,MongoDB的查询功能也非常强大,而且后两者都提供Shell客户端,并有不少第三方开发的工具可以进行管理与使用。但个人认为,DynamoDB如果提供相应的SDK其实是可以解决这个问题的,就算MongoDB的开放接口相对DynamoDB更加复杂,开发者都是直接使用驱动(相当于SDK)进行开发,于是在开发应用上MongoDB远胜于DynamoDB。

2024-01-14 23:18:08 698

原创 如何在一个系统中同时访问异构的多种数据库

要是MySQL还使用了分库分表,那更加不得了,一大堆的组件都要配合着上,一时间整个系统的难度,复杂度就上来了。Bee可以轻松同时使用多个数据库,即使数据库是不同种类也可以.即支持同时使用多种不同类型的数据库.比如在一个系统中,要同时访问MySQL,H2, MsAccess, Mongodb.要是使用Hibernate, MyBatis这些ORM,难度简直不敢想像。如何在一个系统中同时访问异构的多种数据库。但如果用ORM Bee 就会简单多了.

2024-01-14 23:17:16 455

原创 Elasticsearch的主要优点,缺点,应用场景

通过Elasticsearch的高性能和实时性,用户可以快速地搜索到所需的商品,并且可以根据不同的条件进行筛选和排序。同时,Elasticsearch的分布式架构可以保证系统的稳定性和可靠性,能够应对高并发的访问请求。易用性:Elasticsearch提供了简单易用的API和丰富的查询语言,使得开发人员可以快速上手并进行复杂的数据分析。硬件要求高:由于Elasticsearch需要处理大量的数据和请求,因此需要较高的硬件配置来保证系统的性能和稳定性。Elasticsearch的主要优点,缺点,应用场景。

2024-01-14 23:14:10 1768

原创 Elasticsearch与关系型数据库的概念对比

从ELasticsearch7.x开始,include_type_name=false,表示已经移除了类型type的概念,但在使用过程中,仍需要在RESTful风格的url中,原本表示类型的那一层替换成_doc,至此【_doc】也被当成了是请求url涉及到类型type时的固定部分。从ELasticsearch6.x开始,Elasticsearch 引入了一个参数控制 type 开关:include_type_name=true,表示仍使用类型 type的概念。拓展:类型type的移除。

2024-01-14 23:13:21 431

原创 Github登录时,要二次验证.Github 2FA登录问题

点击“Enable 2FA now”跳到2FA验证界面。2023下半年, Github登录时,要二次验证.点setup key是到secret串。,点”Continue”就会得到恢复码.这里有一个可以不用app的验证方法。下载恢复码后,就可以去登录了.

2024-01-14 23:11:47 1581

原创 Maven编译时,如何忽略swagger注解

在Javabean中,@ApiModelProperty这种swagger注解,只是为了在开发时生成API文档;在放到生产环境时,是不需要的。有什么方法,可以在为生产环境编译jar时,忽略这些swagger注解吗?

2024-01-14 23:09:38 776 2

原创 [ERROR] 不再支持目标选项 5。请使用 7 或更高版本

ERROR] 不再支持目标选项 5。请使用 7 或更高版本。在编译spirng boot 3.x版本时,出现了以下错误.[ERROR] 不再支持源选项 5。请使用 7 或更高版本。

2024-01-11 21:08:16 687

原创 Java并行流parallelStream()下InheritableThreadLocal引起的问题

在并行流中,由于线程池的调度机制,父线程有可能会参与到并行流线程池的调度。如果父线程的上下文在某个时刻被清理,那么后续拷贝到子线程的上下文可能为空,导致上下文丢失的问题。原因在于并行流的设计比较特殊,父线程也有可能参与到并行流线程池的调度,那如果 方法被父线程执行,那么父线程的上下文会被清理。导致后续拷贝到子线程的上下文都为 null,同样产生丢失上下文的问题。可能会出现不同的行为,导致上下文丢失的问题。时,不会出现父线程上下文被清理导致的上下文丢失问题。在并行流场景下可能会出现上下文丢失的问题,而使用。

2024-01-05 23:48:56 791

原创 Bee的批量插入与事务使用

这样,在事务中,就不会因事务分多批造成事务不准确;* 所在Bee在2.2时,默认是所有批次的插入操作只提交一次,如插入100条,每批20条,2.2之前是提交了五次commit,在2.2时改为一次commit;* 若想在大批量插入时忽略违反约束的失败操作,使用回2.2之前的模式,可以使用配置:bee.osql.eachBatchCommit=true。在2.2之前,调用批量插入在每个批都会提交commit,但在2.2改为只调用一次且在事务中,在批量插入的方法内容不再提交,而由事务控制.通过实体创建表和约束。

2024-01-03 00:16:08 477

原创 Java 和 C 有许多区别

/在 Java 中,逗号操作符不允许在普通的表达式中像 C 语言中那样使用,也就是说不能像 C 语言中那样使用逗号操作符来组合多个表达式。// 在这个例子中,i的值会先从10变为11,然后再变为12,所以aa的值会是12。// 在这个例子中,i++会先执行,然后i++再执行,整个表达式的值是第二个i++的值。这些是 Java 和 C 之间的一些主要区别,它们使得这两种语言适用于不同的编程场景和用途。- Java 内置了对多线程的支持,并提供了高级的线程管理和同步机制。

2024-01-02 00:43:53 492

原创 高并发场景DB设计原则,什么叫反范式?数据库反范式设计

反范式(denormalization)是指在数据库设计中,有意地冗余部分数据以提高查询性能的一种技术。这是一种与范式(normalization)相反的设计方法。

2024-01-02 00:42:59 465

原创 一文搞懂数据库分片:分库分表,只分库不分表,只分表不分库...

默认是使用求余来映射,如orderid的值为10, 10%6=4,则表是orders4,再通过表来确定库是ds1(这样可以不用指定库的规则)。从日志也可以看出:ds0这个数据库里有表:orders0,orders1,orders2;参考Java ORM 工具Bee,一个简单易用又功能强大的ORM;ds1里有表:orders3,orders4,orders5;要整合一堆的工具,还不如只用一个小巧又功能强大的工具。如何通过orderid字段的值找到相应的表和库;分片键(分片字段是:orderid)

2024-01-02 00:42:01 1231 1

原创 Java形参对象的一些坑,超出你想象

Java形参对象的一些坑,超出你想象。方法内修改会影响原始的对象(也就是实参对象),因为它修改了对象的状态。但引用却不能修改,对象引用是按值传递的。使用final修饰方法参数user,表示在方法内部无法修改user对象的引用,但是仍然可以修改user对象的属性值。

2024-01-02 00:35:41 377

原创 Java将泛型限定为三种类型List,String,Number;问AI,被它骗了

运算符来指定多个上界,因此上面的代码是无法通过编译的。实际上,目前 Java 并没有提供一种直接的方式来限定泛型类型为多个不相关的类。在泛型方法中,由于类型擦除的原因,编译时无法获取具体的类型信息,因此你可能需要在运行时对。,因此你可能需要通过其他方法来实现这一目的,比如在方法内部进行类型检查和转换。下面是一个示例代码,演示了如何使用泛型的上界来限定类型。的类型进行特定的处理,你可能需要进一步检查。在 Java 中,你可以使用泛型通配符。,你可以使用泛型的上界来实现。的类型被限定为泛型类型。

2024-01-02 00:34:41 396

原创 【无标题】

spring boot 使用swagger, 一运行就报错。i.s.m.p.AbstractSerializableParameter - Illegal DefaultValue null for parameter type integer "java.lang.NumberFormatException: For input string: ""

2023-12-17 22:02:52 397

原创 Java 这语句提示的警告如何解决Map array[] = new TreeMap[3]

Map array[] = new TreeMap[3];

2023-12-17 22:02:05 430

原创 MongoDB表的主键可以重复?!MongoDB的坑

想减少直接操作MongoDB带来的烦恼, 想 与使用MySQL一样高效地使用MongoDB,但仍要获取MongoDB的性能,有什么好法子呢?碰到一个奇怪的现象, MongoDB的一个表居然有两个一样的_id值!将它们的类型输出才发现,一个类型是ObjectId,一个是String.再次提交时,是会报主键冲突的。那上图,为什么会有两个一样的_id呢?, 让你像使用关系型数据库MySQL一样使用MongoDB。MongoDB表的主键可以重复?

2023-12-12 22:25:45 797

原创 可以操作Access的ORM工具,MS Access日期的坑

Access 开发VB的时候用过,但用在Java Web开发的确实不多。如果你要兼容旧系统,它就用到Access,那有什么好的方法?或用什么工具可以提高开发效率呢?如果你想减少直接操作Access带来的烦恼, 想 与使用MySQL一样高效地使用Access,有什么好法子呢?, 让你像使用关系型数据库MySQL一样使用Access。但作为参数,不能过滤成功,则试了三种日期类型都不可以;MS Access日期可以查询返回;

2023-12-12 22:24:48 433

原创 使用spring-boot-devtools时可能会引起缓存实体转换异常

使用JAVA ORM 工具,开启缓存时,会报相关的问题。最终发现是引用了 热部署插件引起,关闭了插件无影响;多次访问API接口时,会报底层实体转换异常排查,排查自己写的代码,及使用的框架,, 十分钟即可入门,强大也强大!

2023-12-12 22:24:07 604

原创 Java ORM Bee V2.1.x 功能列表介绍

Java ORM Bee V2.1.x 功能列表介绍

2023-12-11 23:16:10 400

原创 JAVA ORM Bee主要功能介绍

JAVA ORM Bee主要功能介绍

2023-12-11 23:14:44 414

原创 spring boot开发微服务,时间错误的问题

h2里表的字段createtime值是:2021-07-27 11:01:23.184, 在Java程序里,查出来也是:2021-07-27 11:01:23.984, 但使用spring boot,@RestController 返回的数据,却是: "createtime": "2021-07-27 03:01:23",这可能是由于时区的差异导致的。在Java程序中,日期时间通常以UTC格式存储,而在Spring Boot中,默认情况下会使用服务器的时区来格式化日期时间。通过以上设置,还是会有问题。

2023-12-10 23:16:59 424

原创 maven仓库有的文件,但使用阿里云却有问题

可能的原因是阿里云的maven仓库没有更新或者缓存中存在问题。强制更新maven仓库:可以尝试强制更新阿里云的maven仓库,以确保所需的库已经被更新到仓库中。在命令行中执行上述命令后,Maven将会清除本地缓存并重新下载所需的依赖,从而确保所需的库已经被更新到仓库中。如果以上方法无法解决问题,可以尝试切换到其他可靠的maven仓库,或者联系阿里云的技术支持寻求帮助。这个命令会清除本地的Maven仓库缓存并强制从远程仓库更新依赖。表示强制更新,它会忽略本地缓存,强制检查远程仓库以获取最新的依赖。

2023-12-10 23:15:45 1001

原创 Mongodb与MySQL的异同,使用场景,优缺点。。。

总的来说,MongoDB适合于大数据量、高并发、非结构化数据场景,而MySQL适合于强一致性、复杂事务处理、关系型数据场景。选择哪种数据库取决于具体的应用需求和数据特点。MongoDB与MySQL是两种不同类型的数据库管理系统,它们在使用场景、优缺点和内在要求上有很大的不同。

2023-12-03 23:23:32 2619

Bee事务注解@Tran使用实例工程

Bee事务注解@Tran使用实例工程; 基于Spring boot + Bee; 涉及spring aop, 注解拦截,应该有类上和应该在方法的注解拦截. @within,@annotation使用实例.

2022-08-02

honey-1.4.23.jar

Bee是一个开发速度快,编码少、简单、高效的Java ORM框架!它的编码复杂度是O(1),即用了Bee,你可以不用另外写dao代码。 Bee是一种更接近SQL语言思维的ORM框架, 一种开发速度和开发成本都不比php差的Java ORM框架。 Honey是Bee的实现包。

2019-06-06

bee-1.4.2.jar

Bee是一个开发速度快,编码少、简单、高效的Java ORM框架!它的编码复杂度是O(1),即用了Bee,你可以不用另外写dao代码。 Bee是一种更接近SQL语言思维的ORM框架, 一种开发速度和开发成本都不比php差的Java ORM框架。

2019-06-06

空空如也

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

TA关注的人

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