自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

下一个转角的博客

IT成长之路

  • 博客(41)
  • 收藏
  • 关注

原创 Android ExoPlayer源码分析

文章目录关键的类和接口UI层逻辑层结构代码分析关键的类和接口UI层PlayerView源码中的注释:A high level view for Player media playbacks. It displays video, subtitles and album art during playback, and displays playback controls using a PlayerControlView.最外层的播放视图。通过自定义exo_simple_player_view.

2020-08-13 16:22:45 1633 1

原创 JS正则表达式匹配任意字符

正则表达式匹配任意字符,包括空白字符:[\s\S]+

2023-10-23 15:49:57 208

原创 React 高阶组件(HOC)

高阶组件就是一个函数,且该函数接受一个组件作为参数,并返回一个新的组件。基本上,这是从 React 的组成性质派生的一种模式,我们称它们为“纯”组件, 因为它们可以接受任何动态提供的子组件,但它们不会修改或复制其输入组件的任何行为。是一个函数传入一个组件返回一个新组件。

2023-08-16 10:47:09 1325

原创 Android WebView和H5之间的通讯

    之前看到的帖子都是通过js interface实现H5和原生之间的通信,但是根据官网文档,google官方并不推荐这样做,在Android 6或以上的设备上,推荐使用HTML message channels替代。    实现通讯关键的类是WebMessagePort, 截取一部分文档上对这个类的描述:The Java representation of the HTML5 message ports&nbsp

2020-10-30 16:16:02 1279

原创 Android 返回上一个页面,恢复滑动的位置

    Android 从Fragment A切换到Fragment B,再返回到Fragment A,如何恢复离开A页面时的滑动位置?    我们的Fragment A中使用CoordinatorLayout协调滚动,返回A时恢复滚动状态也很简单,只需要给CoordinatorLayout的子视图设置id即可。     Root Cause在CoordinatorLayout源码on

2020-10-12 14:34:01 614 1

原创 Android hilt替换dagger遇到的context导致crash问题

     最近在尝试将项目中的dagger依赖注入替换成hilt, 碰到了crash的问题,排查了一下原因记录一下。     项目中使用liteav做视频播放器,在inflate视频播放组件的时候出的InflateException, 不过这不是根本的原因,因为是在渲染视图的过程中出的异常,根本原因被catch了封装成了InflateException。根据异常堆栈的信息,只看得出来是在渲染TCControllerFullSc

2020-09-03 14:04:07 732

原创 CollapsingToolbarLayout + Toolbar结合使用minHeight不生效源码分析

使用CoordinatorLayout + AppBarLayout + CollapsingToolbarLayout可以实现折叠效果CollapsingToolbarLayout + Toolbar组合使用可以实现header固定在页面顶部,但是有时候希望给CollapsingToolbarLayout设置一个最小高度,使页面最大只能滚动到指定的一个点,但是此时给CollapsingToolbarLayout设置minHeight不生效。分析CollapsingToolbarLayout源码找到了原因

2020-08-03 17:42:51 915

原创 需要的工具Note

1: 在线画图工具:https://www.draw.io/2: ubuntu 18.04安装mysql:https://www.cnblogs.com/clair11/articles/9467200.html3:ubuntu 18.04安装nginxhttps://www.cnblogs.com/aaronthon/p/9945993.html4:ubuntu 18.04安装r...

2019-12-03 09:46:54 192

原创 源码搭建Openfire 4.3.2 note

源码部署Openfire 4.3.2 troubleshooting: 1:war-maven-plugin 2.6一直下载不成功,配置文件改成了3.2.0 2:根据源码里documentation的source-build.html文件步骤执行 3:执行mvn test的时候抛了一个关于surefire plugin的error,需要maven 3.6以上的版本 ...

2019-12-02 13:25:13 323

原创 IDEA部署openfire 4.3.2源码

下载openfire 4.3.2源码解压后的目录如下: IDEA导入项目,等待sync完成。可能是因为网络的原因,有个plugin一直下载不下来,本地有该plugin其他版本,于是改了下pom文件,sync项目成功。 cd到项目根目录,根据documentation文件夹下的source-build.html文件构建源码。我执行mvn test的时候有个关于su...

2019-10-14 18:11:51 581 3

原创 springmvc + spring security搭建oauth2

1. pom.xml配置,引入相关依赖: <spring.version>5.1.7.RELEASE</spring.version> <spring-security.version>5.1.5.RELEASE</spring-security.version> <spring-security-oauth.ver...

2019-08-25 15:28:45 2829 5

原创 IDEA社区版运行web项目

1.在pom.xml文件添加tomcat插件:配置如下:<plugin> <groupId>org.apache.tomcat.maven</groupId> <artifactId>tomcat7-maven-plugin</artifactId> <version>2.1</version>...

2019-08-25 14:48:36 5358

原创 Linux上搭建Elasticsearch

前提条件:Linux配置了java环境。环境搭建:使用putty连接服务器,cd到/usr/local 下载压缩包:wget https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-7.1.1-linux-x86_64.tar.gz 解压:tar -zxvf elasticsearch-7....

2019-05-29 17:40:15 319

原创 Windows下将java源项目打包成jar包

最近准备升级项目smack版本,除了有些api改变外,还需要重写部分smack源码来支持项目业务。 从github上当最新的smack源码导入到android studio中,sync项目当需要的依赖包。添加自己的改动之后编译项目生成对应的字节码文件。 打开windows cmd工具, cd到该module的build\classes\java\main下,使用jar命令...

2019-05-17 17:12:48 1388

原创 validate.js实现自定义验证

jQuery的表单验证框架添加自定义验证方式:     validate.js提供了addMethod方法可使用户实现自定义验证,如下所示:其中有三个参数,methodName即为验证的方法名,在验证rules里若设置为true,则会调用function方法对表单数据进行验证。function即为验证数据函数,第三个参数为默认的提示信息。jQuery.validator.addMethod("

2017-08-09 10:49:08 2922

转载 SqlSessionTemplate MapperScannerConfigurer

mybatis   SqlSessionFactoryBean  SqlSessionTemplate MapperScannerConfigurer1.MyBatis简介     MyBatis是什么? MyBatis是一款一流的支持自定义SQL、存储过程和高级映射的持久化框架。MyBatis几乎消除了所有的JDBC代码,也基本不需要手工去设置参数和获取检索结果。MyBatis能够使用简单的XM

2017-08-01 14:46:32 3280

原创 表单提交设置disabled属性的input数据未提交

表单提交时,设置了disabled=“disabled”的input元素的数据并未提交到后台,如果数据需要发送到后台,需要将input元素设置为readonly=“true”

2017-07-25 10:06:35 782

原创 固定table第一列

表格:为外层div绑定scroll事件 css:设置tr的

2016-12-28 09:36:34 12183 3

原创 动态设置iframe的高度

写页面的时候。经常会动态添加元素,如果将iframe设置为固定值而又不希望有滚动条时一部分数据不能显示,于是添加以下函数,执行代码为页面动态添加元素之后,执行以下函数,可以重新为iframe设置高度。function initFrame(){ var iframe=window.frameElement; var bHeight=iframe.contentWindow.doc

2016-11-16 16:23:17 3334

原创 实现ajax提交表单,页面不跳转

表单代码 <form id="save" class="form-horizontal" role="form" method="post" action="${request.getContextPath()}/yuyue/saveBingli.do">

2016-11-09 17:37:58 2404 1

原创 js传递参数时类型错误

今天写代码添加了一下一段代码,字段值是后台传递的,格式的‘0000000XX’的字符串形式,但是触发函数时,把参数当成了整型值,传递之后结果就是XX的值,后来看了一下生成的html文档,发现在动态添加元素的时候应该参数该添加引号,于是在参数前添加了html实体&apos,也可以添加转义字符\',再运行问题就解决了。

2016-11-03 13:02:35 1634

翻译 spring学习(官网)——解决spring有多个匹配bean产生的冲突

1:使用@Primary注解微调:通过类型自动匹配可能会导致多个候选对象,在选择过程中有更多限制是必须的,一种方式是使用spring 的@Primary注解实现,当一个单值的依赖有多个候选的bean时,@Primary注解指示给予一个优先的bean。如果在所有候选的bean中只有一个是primary的,这个bean将会被匹配。@Configurationpublic class Movi

2016-09-29 11:45:30 4758

翻译 spring学习(官网)——InitializingBean 和DisposableBean

为了和容器生存周期的管理交互,你可以实现spring的InitializingBean和DisposableBean接口,容器为前者回调afterPropertiesSet()方法,后者回调destroy()方法,允许容器在初始化和销毁bean时执行合适的操作。JSR-250 @PostConstruct和@PreDestroy注解通常认为是在现代spring应用接收生存周期回调的最佳实践,使

2016-09-28 16:38:10 1160

原创 spring学习(官网)——使用工厂方法实例化对象

1:使用静态工厂方法实例化bean:在spring配置文件中注册bean,class属性是包含静态的类,factory-method指定类对应的工厂方法名<bean id="clientService" class="examples.ClientService" factory-method="createInstance"/>public class ClientSer

2016-09-27 17:50:26 397

原创 spring学习(官网)——解决版本冲突问题

在使用maven时有可能会意外的混入了不同版本的spring  jar包,比如你可能会发现第三方库,或者另外一个spring project,如果你忘了明确地声明依赖,会出现各种意想不到的事情会发生。为了克服这样的问题,maven提供了 "bill of materials" (BOM) 依赖的理念,你可以在你的dependencyManagement 部分导入spring-framework

2016-09-26 21:02:32 2433

翻译 zookeeper概要

zookeeper:分布式应用的分布式协调服务zookeeper是分布式的,分布式应用的开源协调服务,他提供了一组简单的原语使分布式应用可以建立在为同步、配置维护、群组以及命名等实现更高级别的服务上。它被设计为易于编程,并且在一个相似的目录树结构的文件系统之下使用了数据模型样式,它运行在java环境中,并且为java和c都有绑。众所周知协调服务难以获得合适的,它们尤其容易失误比如竞态条件和

2016-09-26 14:17:40 237

原创 安装mysql-5.7.15-winx64

在校的时候用的是SQL Server,后来进了公司一直就是用的服务器上的MySQL,但是今天决定自己安装MySQL,也遇到了很多麻烦,来做个总结。mysql-5.7.15-winx64下载地址:链接:http://pan.baidu.com/s/1c2bssa0 密码:ext0,也可以自己去官网下,这个是免安装版本,下载后解压即可1,配置环境变量,相信学编程的应该都知道该怎么配环境变量

2016-09-19 14:52:50 3012 4

转载 MyBatis学习 之 、动态SQL语句

有些时候,sql语句where条件中,需要一些安全判断,例如按某一条件查询时如果传入的参数是空,此时查询出的结果很可能是空的,也许我们需要参数为空时,是查出全部的信息。使用Oracle的序列、mysql的函数生成Id。这时我们可以使用动态sql。       下文均采用mysql语法和函数(例如字符串链接函数CONCAT)。  3.1 selectKey 标签       在i

2016-09-14 11:30:26 299

原创 bootstrap data-toggle

Bootstrap为这些a之类元素都绑定上了事件,而终止了链接默认行为。data-toggle指以什么事件触发,常用的如modal,popover,tooltips等,data-target指事件的目标,一起使用就是代表data-target所指的元素以data-toggle指定的形式显示

2016-09-13 11:39:50 12178

原创 springmvc不拦截静态资源

1:在web.xml配置中修改拦截路径 springMVC org.springframework.web.servlet.DispatcherServlet contextConfigLocation classpath:spring/spring-mvc.xml

2016-09-12 15:33:11 804

原创 easyUI datagrid请求,使用@ResponseBody将数据转换成json

spring-mvc.xml中配置:或者 <bean id="mappingJacksonHttpMessageConverter" class="org.springframework.http.converter.json.Ma

2016-09-12 12:22:23 3003

原创 idea运行maven web项目

1:run→Edit configurations :2:配置tomcat,左边如果没有tomcat server的话,点击 “+”,选择tomcat  server→local,在右边server选项卡中,Name我填的是ApplicationServer一样的,没试过不同会如何,ApplicationServer:点击configure,在弹出的对话框中添加你安装的tomcat路径,在最下

2016-09-09 17:33:56 15579

原创 请求获取不到静态资源

今天搭建sprintMVC+MyBatis的开发环境,加载不了静态资源文件,查了相关资料之后,发现我的web.xml配置如下,这样配置的话DispatcherServlet会拦截所有的请求(.js   .css...)而在控制器中并没有对应的处理方法,所以加载不了所需的文件 SpringMVC org.springframework.web.servlet

2016-09-09 16:06:21 1750 1

原创 springMVC+MyBatis+freemarker整合

目录结构配置web.xml contextConfigLocation classpath:spring/spring-mybatis.xml org.springframework.web.context.ContextLoaderListener springMVC

2016-09-09 15:45:35 486

原创 jdk API实现日志功能

编辑properties配置文件:log.properties# don't forget FileHandler of key handlers=java.util.logging.FileHandlerjava.util.logging.FileHandler.level=INFOjava.util.logging.FileHandler.formatter=java.util.logg

2016-09-07 10:47:14 272

原创 ssh协议使用SecureCRT通过跳板机连接到第三台主机

1:已知跳板机的ip地址用户以及密码,连接到跳板机上2:链接成功后  使用  ssh -vuser@ip地址命令,user是要连接的主机的用户名,ip是要连接的主机的ip地址3:回车后,SecureCRT会提示输入密码,就OK。

2016-09-07 10:30:28 1749

原创 通过SecureCRT登录redis

1:使用SecureCRT先登录到指定服务器2:输入命令  redis-cli  -p  port-a  passwordport:端口,默认 6379password:密码。

2016-09-07 10:29:41 1911

原创 SecureCRT进入到指定进程打开的文件目录

1:链接到指定主机2:输入命令 ps aux | grep java  :列出java进程其中6168是进程号3:输入命令  cd /proc/6168进入到进程目录中。4: 输入命令ls -l,会显示以下内容:5:再输入命令 cd   path就进入到了进程打开的文件目录中了,其中path是上个图片中cwd后面的内容。

2016-09-07 10:28:50 6006

原创 MySql出现too many connection

最近做公司里一个maven  web项目时出现一个很熟悉的问题,MySql提示too manyconnections,在学校那会儿和同学一起做项目一般就是重启数据库,对项目没有什么影响,但是在公司部署在服务器上的数据库不能随便重启,于是尝试着到本地repository仓库中将mysql的文件删除,再到MyEclipse中update project重新下载jar包,结果可以重新连接数据库。不过经常

2016-09-07 10:26:54 502

原创 maven打包项目

对已经完成的的maven项目要打包成jar文件或者war文件发布到Linux服务上运行,但是在打包的时候maven项目所依赖的jar包没有包括,百度之后,我在pom.xml文件中添加了如下配置,再在cmd下 org.apache.maven.plugins

2016-09-07 10:24:51 228

空空如也

空空如也

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

TA关注的人

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