JAVA
文章平均质量分 82
宇航AI
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
优惠券优化技术方案
随着业务的不断扩展,业务计划将其与服务进行整合。在这一过程中,C端用户通过小程序租赁电动车后,很可能会产生购买意愿。为了更好地支持和促进用户的购买行为,租车业务将把用户的租赁信息实时同步至商城,商城主动向用户发放购车优惠券。为了进一步提升业务效率和用户体验,我们计划对现有的优惠券发放、核销及查询流程进行一次全面的升级和优化。为此,我们亟需设计并优化当前商城的优惠券功能,该功能需能够稳定支持高达百级QPS的业务需求。原创 2024-05-21 17:12:57 · 1168 阅读 · 0 评论 -
Nginx配置以及各种坑
若按照这种配置的话,则访问/web/目录下的文件时,nginx会去/usr/local/src/web下找文件。#若按照上述配置的话,则访问/web/目录里面的文件时,ningx会自动去/usr/local/src/web目录找文件。指定了代理服务器的地址,即当请求匹配/store/时,Nginx会将请求转发到本机的8889端口上。配置使用最频繁的部分,代理、缓存、日志定义等绝大多数功能和第三方模块的配置都在这里设置。定义了一个Nginx的location块,用于匹配所有以/store/开头的请求。原创 2024-05-21 17:02:45 · 689 阅读 · 0 评论 -
阿里官方RocketMq使用
快速入门如果使用的是阿里云主账号,则可以通过本文来体验从开通服务、创建资源、到使用 SDK 收发消息的完整流程,快速上手消息队列 RocketMQ 版。本文以 HTTP 协议下的 Java SDK 为例进行说明。步骤一:开通服务在消息队列 RocketMQ 版产品页,单击立即开通。在确认订单页面,选择我已阅读并同意《消息队列MQ服务协议》,再单击立即开通即可完成开通。步骤二:创建资...原创 2020-01-02 16:21:45 · 2260 阅读 · 1 评论 -
springboot自动配置原理
1. 自动配置原理使用springboot之后,繁琐的配置都消失了,我们看一下springboot启动类:我们发现特别的地方有两个:注解:@SpringBootApplicationrun方法:SpringApplication.run()我们分别来研究这两个部分。1.1 了解@SpringBootApplication点击进入,查看源码:@SpringBootConfigu...原创 2019-10-19 11:36:49 · 315 阅读 · 0 评论 -
web.xml详解
出处http://blog.youkuaiyun.com/u0107967901、spring 框架解决字符串编码问题:过滤器 CharacterEncodingFilter(filter-name)2、在web.xml配置监听器ContextLoaderListener(listener-class)ContextLoaderListener的作用就是启动Web容器时,自动装配ApplicationC...转载 2019-05-17 09:43:26 · 158 阅读 · 0 评论 -
修改tomcat端口号并部署项目
1.背景今天部署xxl-job的admin调度平台,在同一台服务器上执行调度平台和定时任务。需要修改tomcat的端口号。2.方法打开tomcat 的 conf 目录 cd conf ,vim打开 server.xml 编辑器在改之前可以先查看已经使用的端口号,将8080 改为 9033 。讲此处的端口号也做更改,改为 8772。将此处的端口号也做更改,改为8056.改之后...原创 2019-05-28 14:02:59 · 2277 阅读 · 0 评论 -
mysql七种Join方式
mysql七种Join方式下面我们创建部门表tbl_dept和员工表tbl_emp对上述7种方式进行逐一实现:部门表:主键id、部门名称deptName,部门楼层locAddmysql>CREATE TABLE `tbl_dept` ( -> `id` INT(11) NOT NULL AUTO_INCREMENT, -> `deptName` VA...原创 2019-06-17 18:55:52 · 1517 阅读 · 0 评论 -
Java 类加载机制
一般来说,我们把 Java 的类加载过程分为三个主要步骤:加载、链接、初始化,具体行为在Java 虚拟机规范里有非常详细的定义。首先是加载阶段(Loading),它是 Java 将字节码数据从不同的数据源读取到 JVM 中,并映射为 JVM 认可的数据结构(Class 对象),这里的数据源可能是各种各样的形态,如 jar 文件、class 文件,甚至是网络数据源等;如果输入数据不是 Cla...原创 2019-06-27 14:19:21 · 215 阅读 · 0 评论 -
Java内存分配
第一,程序计数器(PC,Program Counter Register)。在 JVM 规范中,每个线程都有它自己的程序计数器,并且任何时间一个线程都只有一个方法在执行,也就是所谓的当前方法。程序计数器会存储当前线程正在执行的 Java 方法的 JVM 指令地址;或者,如果是在执行本地方法,则是未指定值(undefined)。第二,Java 虚拟机栈(Java Virtual Machin...原创 2019-06-27 15:13:27 · 165 阅读 · 0 评论 -
TCP 协议三次握手和四次挥手
TCP/IP转载 2019-06-28 08:41:59 · 168 阅读 · 0 评论 -
记一次xxl_job中HttpJobHandler中的数据请求与存储
@JobHandler(value = "httpJobHandler")@Componentpublic class HttpJobHandler extends IJobHandler { @Resource private BankSynchronizationService bankSynchronizationService; @Override ...原创 2019-05-20 14:38:48 · 7907 阅读 · 0 评论 -
树、二叉树基础
最近在看HashMap源码,JDK1.8之后用了红黑树,现在回顾一下大学的数据结构----树。树定义树(Tree)是n(n>=0)个结点的有限集。当n=0时称为空树。在任意一颗非空树中:1、有且仅有一个特定的称为根(Root)的结点;2、当n>1时,其余结点可分为m(m>0)个互不相交的有限集T1、T2、…、Tn,其中每一个集合本身又是一棵树,并且称为根的子树。此外,...原创 2019-03-20 11:26:00 · 213 阅读 · 0 评论 -
String、StringBuffer、StringBuilder有什么区别?
典型回答String 是 Java 语言非常基础和重要的类,提供了构造和管理字符串的各种基本逻辑。它是典型的 Immutable 类,被声明成为 final class,所有属性也都是 final 的。也由于它的不可变性,类似拼接、裁剪字符串等动作,都会产生新的 String 对象。由于字符串操作的普遍性,所以相关操作的效率往往对应用性能有明显影响。StringBuffer 是为解决上面...原创 2019-01-18 16:47:27 · 242 阅读 · 0 评论 -
谈谈你对Java平台的理解?
Java 本身是一种面向对象的语言,具有两大显著特征:1、书写一次,到处运行 (Write once,run anywhere)表示的是Java语言跨平台的特性,Java的跨平台特性与Java虚拟机的存在密不可分,可在不同的环境中运行。比如说Windows平台和Linux平台都有相应的JDK,安装好JDK后也就有了Java语言的运行环境。其实Java语言本身与其他的编程语言没有特别大的差异...原创 2019-01-11 10:02:21 · 188 阅读 · 0 评论 -
Exception和Error有什么区别?
典型回答Exception 和 Error 都是继承了 Throwable 类,在 Java 中只有 Throwable 类型的实例才可以被抛出(throw)或者捕获(catch),它是异常处理机制的基本组成类型。Exception 和 Error 体现了 Java 平台设计者对不同异常情况的分类。Exception 是程序正常运行中,可以预料的意外情况,可能并且应该被捕获,进行相应处理。E...原创 2019-01-15 09:57:32 · 357 阅读 · 0 评论 -
谈谈final、finally、 finalize有什么不同?
典型回答final 可以用来修饰类、方法、变量,分别有不同的意义,final 修饰的 class 代表不可以继承扩展,final 的变量是不可以修改的,而 final 的方法也是不可以重写的(override)。finally 则是 Java 保证重点代码一定要被执行的一种机制。我们可以使用 try-finally 或者 trycatch-finally来进行类似关闭 JDBC 连接、保证...原创 2019-01-15 14:03:55 · 216 阅读 · 0 评论 -
强引用、软引用、弱引用、幻象引用有什么区别?
典型回答不同的引用类型,主要体现的是对象不同的可达性(reachable)状态和对垃圾收集的影响。强引用(“Strong” Reference),就是我们最常见的普通对象引用,只要还有强引用指向一个对象,就能表明对象还“活着”,垃圾收集器不会碰这种对象。对于一个普通的对象,如果没有其他的引用关系,只要超过了引用的作用域或者显式地将相应(强)引用赋值为 null,就是可以被垃圾收集的了,当...原创 2019-01-16 09:09:38 · 260 阅读 · 0 评论 -
int和Integer有什么区别?
典型回答int 是我们常说的整形数字,是 Java 的 8 个原始数据类型(Primitive Types,boolean、byte、short、char、int、float、double、long)之一。Java 语言虽然号称一切都是对象,但原始数据类型是例外。Integer 是 int 对应的包装类,它有一个 int 类型的字段存储数据,并且提供了基本操作,比如数学运算、int 和字符串之...原创 2019-01-22 08:31:04 · 345 阅读 · 0 评论 -
Collection接口
Collection 接口继承图Set接口Set集合不允许包含相同的元素,而判断两个对象是否相同则是根据equals方法。HashSet类HashSet类是Set接口的典型实现类。特点:不能保证元素的排列顺序,加入的元素要特别注意hashCode()方法的实现。HashSet不是同步的,多线程访问同一步HashSet对象时,需要手工同步。集合元素值可以是null。Lin...原创 2019-01-29 09:55:46 · 266 阅读 · 0 评论 -
LinkedList源码分析
简介LinkedList同时实现了List接口和Deque接口,也就是说它既可以看作一个顺序容器,又可以看作一个队列(Queue),同时又可以看作一个栈(Stack)。这样看来,LinkedList简直就是个全能冠军。当你需要使用栈或者队列时,可以考虑使用LinkedList,一方面是因为Java官方已经声明不建议使用Stack类,更遗憾的是,Java里根本没有一个叫做Queue的类(它是个接口...原创 2019-03-05 09:42:00 · 170 阅读 · 0 评论 -
ArrayList源码分析
<< 左移运算符的使用: 2 << 2 。表示2的2进制左移两位.乘以2的2次方.2 x 2的2次幂,结果为8 >> 右移运算符的使用: 2 >>1 。表示2的2进制右移一位,除以2的1次方,除以2的1次幂.结果为1简介ArrayList是我们开发中非常常用的数据存储容器之一,其底层是数组实现的,我们可以在集合中存储任意原创 2019-02-20 18:03:03 · 231 阅读 · 0 评论 -
String 为什么不可变 ?
众所周知, String 是一个不可变的,由 final 修饰的类。那么它的不可变性体现在哪里呢? 看下面一段简单的代码: String str= "123"; str = "456";相信应该没人会觉得这段代码是错误的,那么这符合 String 的不可变性吗?String 的不可变性是如何体现的? 不可变性的好处是什么?带着这些转载 2019-01-18 09:41:41 · 372 阅读 · 0 评论
分享