- 博客(44)
- 资源 (6)
- 收藏
- 关注
原创 排序算法之-冒泡
从头开始遍历未排序数列,遍历时比较相邻的两个元素,前面的大于后面的,则双方交换位置,一直比较到末尾,这样最大的元素会出现在末尾,接着再依次从头开始遍历剩余未排序的元素,直至所有的元素都排序完成。(其实就是每次遍历时找出最大的元素,通过不断的移动位置,将其存入到未排序末尾)顺序是从头开始遍历,倒序是从末尾开始遍历,将最大元素依次存入序列开头位置。
2023-11-07 20:22:45 634
原创 Java的扩充字符
Java中使用unicode字符集表示一个字符时,通常是采用16位即2个字节来存储对应的码值,但是它最多只能表示65535字符范围:U+0000-U+FFFF,而unicode字符集的数据量早就超过这个范围:U+0000-U+10FFFF。为了解决这个问题,Java平台使用两种方式来表示字符:一、BMP即基本多语言面字符,采用16位表示,二、扩充字符,采用一对字符来表示即第一个字符是高位代理,范围:UD800-UDBFF,第二个字符是低位代理,范围:UDC00-UDFFF。
2023-09-25 22:07:53 115
原创 lua在nginx中的应用
lua是一款灵活,轻量级的脚本语言,设计目的是为了嵌入应用程序中,从而为应用程序提供灵活的扩展和定制功能,我们在使用nginx的时候,可能需要些特殊功能,但是第三方模块又不能满足我们的需求,这个时候可以使用lua脚本做些定制化的开发。
2023-03-11 12:08:39 126
原创 动态权重和负载策略
消费方在创建远程引用对象Invoker时,会向注册中心zookeeper订阅节点/dubbo/服务接口/下的几个目录:providers(提供方列表),configurators(配置信息),routers(路由信息)。使用dubbo-admin调整服务权重或负载策略时,会往configurators节点下写入配置信息:[override%3A%2F%2F0.0.0.0%2Forg.nickyu.api.HelloService%3Fcategory%3Dconfigurators%26dynamic%3
2022-05-05 22:31:01 227
原创 Dubbo标签路由
适用场景:通过将一个或多个服务的提供者划分到同一个分组,约束流量只在指定分组中流转,从而实现流量隔离的目的,用于解决灰度发布、蓝绿发布问题。基本原理:通过给服务提供方的单个或多个实例指定标签,消费方在调用服务的时候,通过匹配标签筛选出符合条件的服务列表,然后再根据负载策略进行远程服务调用。基本使用:在使用标签路由的时候,需要对服务提供方和消费方做相应配置才可生效。消费方可以通过设置隐式参数指定标签给自己使用,以及将标签传递给下游服务,因为下游服务也有可能再次调用其他服务,所以需要通过隐..
2022-05-03 14:50:05 1575
原创 SPI机制
Dubbo spi机制是在jdk spi机制的基础上做了功能增强处理,在实际使用过程中是否需要dubbo的spi机制具体还是要看业务场景,在介绍dubbo spi之前,我们先对jdk的spi机制做个简单了解。SPI英文全称Service Provider Interface,中译服务提供接口,先看下它的运行机制:将接口的服务实现类的全限定名配置在文件中,在具体使用服务过程中通过服务加载器读取配置文件,加载具体的服务实现类。接下来再看下它的一个基本使用。首先需要定义一个接口类,如Action:p
2022-03-21 16:46:01 705
原创 maven工具使用
命令行使用手动推父pom到远程仓库:mvn deploy:deploy-file -Durl=仓库地址 -DrepositoryId=仓库id -Dfile=your-pom.xml -Dpackaging=pom -DgroupId=XXXX -DartifactId=XXX -Dversion=XXX.XX手动推jar包到远程仓库:mvn deploy:deploy-file -Durl=仓库地址 -DrepositoryId=仓库id -Dfile=XXX.jar -DpomFile=
2022-02-17 13:58:04 116
原创 AbstractTestNGSpringContextTests单元测试坑点
测试类继承AbstractTestNGSpringContextTests进行spring单元测试时1、依赖注入类需指定接口类,不能指定具体实现类,否则会出现找不到依赖类,导致注入失败。
2021-07-13 16:21:33 1326 1
原创 Make使用
命令使用注意:make在执行多条命令时,每条命令使用不同的shell执行,如果命令之间相互依赖,可能无法达到预期结果,可以有以下几种方法将多条命令放在同一shell下执行a. 多条命令写在一行,如:export a=hello; echo "a=$a";b.命令之间使用反斜杠,注意后面不要带空格,否则会执行异常c.使用内置命令,.ONESHELL:...
2021-01-19 22:53:40 112
原创 如何读取Spring管理的propeties配置文件信息
应用程序在使用XML方式集成Spring的时候,会使用<context:property-placeholder location="conf.properties" />配置让Spring对properties文件进行管理。有时候需要动态的获取properties文件参数配置信息,可以参照以下方式:PropertySourcesPlaceholderConfigurer bea...
2020-05-02 16:12:02 255
原创 类属性名首字母大写时,无法使用net-json库将JSON文本中的值赋值给对象属性
类属性名大写的情况下,需要做些特殊配置才能正常将JSON转换为对象,可参考以下代码: Random random = new Random(); JSONArray jsonArray = new JSONArray(); for(int i=0;i<10;i++){ JSONObject jsonObject = new JSO...
2020-04-25 17:21:44 255
原创 JDK1.8切换到1.7无效
问题描述:在window8.1环境下,将jdk1.8切换到1.7(更换环境变量JAVA_HOME的值),在cmd中查询版本发现还是1.8处理方法:jdk1.8安装后会自动在环境变量PATH的头部增加字符:C:\ProgramData\Oracle\Java\javapath;我们只要将%JAVA_HOME%\bin;放在它的前面就可以了。...
2020-04-05 15:22:38 604
原创 MappedStatement的生成方式
生成它有两种方式:使用XML映射文件,文件中的<select> 、<update>、<insert>、<delete>这些节点最终都会转换成MappedStatement。2. 使用配置注解@Select、@Insert、@Update、@Delete或@SelectProvider、@InsertProvider、@UpdateProvid...
2020-04-02 12:14:39 1084
原创 Mybatis如何集成到Spring中的
Mybatis如何集成到Spring中的所谓集成其实说白了就是将mybatis的组件注入到spring容器中,以bean的形式存在。下面这段配置我们集成mybatis的时候经常用到: <bean id="sqlSessionFactory" class="org.mybatis.spring.SqlSessionFactoryBean"> <!-- 数据源 --...
2020-04-01 17:24:45 833
原创 Mysql模拟事务隔离级别步骤
1、设置事务隔离级别set session transaction isolation level 事务隔离级别;2、开启事务set autocommit=0;begin;3、执行SQL,查看结果4、提交事务commit或回滚事务rollback;mysql事务隔离级别:read uncommitted 可读取未提交数据,引起脏读问题read committed...
2020-03-30 17:50:13 333
原创 源码中的xml资源文件不会同class文件一起打包
项目使用maven进行管理,编译打包源码包,默认只会打包class文件,需要在pom.xml中做以下配置:<build> <resources> <resource> <directory>src/main/java</directory> <includes> ...
2020-03-23 11:20:46 191
原创 spring源码解析-切面通知执行顺序
应用开发过程中,针对同一个目标对象,可能会需要配置一个或多个切面进行AOP增强。只有一个切面的情况下,各个通知的执行顺序如下:@Around>@Before>@After>@AfterReturning>@AfterThrowing配置多个切面的情况下,需要为切面类继承Ordered接口或配置@Order注解手动定义两个切面的顺序大小,值越小越先执行相关排序...
2020-03-22 14:07:34 649
原创 Spring源码分析-AOP之JDK动态代理实现
0X01 前提条件基于XML配置加载beanSpring V4.0.8.RELEASEbean为单例模式基于JDK动态代理实现,Cglib暂且不表,其实两者大致流程差不多,只不过在生成具体代理对象的时候会有点差异0X02 实现方法 要了解AOP的原理需要将AnnotationAwareAspectJAutoProxyCreator,bean的创建和bean的方法调用三者联系起来。...
2020-03-21 20:42:33 258
原创 spring源码解析-单例Bean循环依赖解决方法
0X01、前提条件bean为单例模式,其他模式暂且不表。Bean工厂支持循环依赖即allowCircularReferences=true,这是它的默认值 。0X02、解决方法1、 bean工厂在创建bean之前会尝试从缓存中拿到bean,bean工厂中定义了三级缓存:singletonObjects:一级缓存earlySingletonObjects:二级缓存singl...
2020-03-20 17:44:50 214
原创 Spring源码解析-BeanName生成方法
1、环境要求Spring V4.0.8.RELEASE基于XML配置方式加载Bean2、BeanName生成方法spring优先将标签的id属性值作为beanName,没有配置id则将name属性值第一个元素作为beanName。下面代码片段摘自BeanDefinitionParserDelegate的parseBeanDefinitionElement方法String id...
2020-03-19 11:42:59 287
原创 Oracle启动步骤
sqlplus / as sysdba 进入oraclestartup 启动Oraclequit 退出Oraclelsnrctl start 启动监听器
2020-03-17 17:43:23 122
原创 Spring源码解析-XmlWebApplicationContext如何定位配置文件
一般web应用会在web.xml添加以下spring配置信息 <context-param> <param-name>contextConfigLocation</param-name> <param-value>/WEB-INF/applicationContext.xml</param-value></co...
2020-03-14 12:01:41 242
原创 Spring源码解析-SpringMVC如何处理请求
1、对当前请求信息做线程绑定RequestContextHolder.setRequestAttributes(requestAttributes, this.threadContextInheritable);2、为当前请求找到匹配的handlermappedHandler = getHandler(processedRequest);3、根据handler找到匹配的handlerA...
2020-03-13 16:51:03 123
原创 fmt:formatNumber 标签 显示人民币符号
<fmt:formatNumber value="${amount/100}" type="currency" currencySymbol="¥" /></td>currency:货币类型currencySymbol:货币符号
2020-03-04 10:02:57 814
原创 activiti7.1.0.M1坑点
1、流程回退情况下,业务流程流转方向不变,如:员工发起请假流程,第一次领导审核不通过,员工调整申请后,第二次领导审核通过,但实际上任务参数变量值会发生改变,会导致整个业务在调整申请和领导审批之间一直循环来回。//删除旧的参数值 taskService.removeVariables(taskId,variableKeys); taskService.complete(taskId, va...
2020-02-21 14:41:24 2003 1
原创 springboot集成Activiti7
现有项目集成工作流,springboot版本为2.1.3.RELEASE,待集成activiti版本7.1.0.M1,项目采用maven方式管理,集成步骤如下1、maven配置依赖包,项目本身已使用mybatis-plus,需要去除activiti依赖的mybatis包,不然会冲突<dependency> <groupId>org.activiti</gr...
2020-02-15 16:55:23 2105 1
原创 Oracle分区
分区操作:1、分割分区alter table emp split partition emp_2019 at(to_date('2019-06-01','yyyy/MM/dd'))into (partition emp_2019_06,partition emp_2019_12);2、合并分区alter table emp merge partitions part_emp_20...
2020-01-07 15:36:28 1735
原创 Android手动签名APK
支持签名V1和V2模式,分为两步:1、使用zipalign对APK文件做对齐操作zipalign -v -p 4 infile.apk outfile.apk2、使用apksigner对已对齐apk文件做签名操作apksigner sign --ks 签名证书库 --ks-key-alias 私钥和证书数据的别名 --ks-pass pass:密钥库的密码 --outoutfil...
2019-11-22 16:17:47 300
原创 maven依赖包下载中断
执行命令:mvn clean install -U执行完成后,在IDEA里右键pom.xml 选择maven->Reimport
2019-08-29 17:53:04 548
原创 端外页面通过JavaScript唤醒Android APP
1、对需要端外调起的Activity添加如下配置 <intent-filter><action android:name="android.intent.action.VIEW"/><category android:name="android.intent.category.DEFAULT"/><category android:name="an...
2019-07-11 09:41:28 697 1
learn-netjson.zip
2020-04-25
word转换成HTML
2015-08-04
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人