自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(35)
  • 收藏
  • 关注

原创 web.xml只需配置DispatcherServlet无需配置ContextLoaderListener的原因

今天发现一个项目是传统的SSM架构,查看其web.xml配置文件发现只配置了DispatcherServlet,将所有的请求进行了拦截。但是这个servlet属于springmvc并不是spring的,所以spring容器并没有被构建,那是如何构建spring容器的呢?通过断点发现,在tomcat启动过程中,创建了DispatcherServlet,该servlet继承FrameworkServlet这里有个initServletBean方法,该方法会在tomcat启动时被调用!从而创建spring容

2021-10-13 09:58:58 519

原创 JVM锁升级过程随笔

对象在堆内存中的布局:

2021-07-21 16:00:47 300

原创 MySQL总结二

十一如果索引的键比较大不仅浪费空间而且没页的索引键也会变少导致查询时需要更多的页前缀索引:可以对字符串索引规定索引的长度优点:节省空间缺点:索引覆盖失效,必须回表查询索引字段的完整信息可以采取倒序存储再创建前缀这样可以提高区分度较少冗余也可以建立hash字段来节省存储空间,但是2种方案都会失去范围查询的能力。十二刷脏页的条件:一:redo log写满需要将cp推进到cp撇才可以继续进行写入操作。二:内存不够用了当需要淘汰脏页时需要将脏页flush到磁盘。MySQL通过buffer

2021-07-09 15:38:47 161

原创 HashMap源码随笔

static final int hash(Object key) { int h; return (key == null) ? 0 : (h = key.hashCode()) ^ (h >>> 16); }将hashCode的高16为和低16为进行异或,产生新的hashcode,主要原因是为了配合后面确定hash槽的位置。p = tab[i = (n - 1) & hash上面就是计算具体存放位置,hashMap的长度...

2021-07-08 17:34:27 118 1

原创 CAP详解

CAP:P:分区容忍性,在分布式网络下,所有小服务构成整体的大服务,如果其中有一个服务挂了,整个服务依旧可以对外提供服务。这就是分区容忍性,如果分区不容忍那么一个服务挂了整个大服务就无法对外访问了。C:一致性,整个大服务,对于对外访问数据永远是一致的,故对于更新来说所有服务都需要同步,保持数据一致A:可用性,访问大服务在规定时间内可返回数据。根据CAP定理,其只能3选2,当有分区时,A,B为满足P,必须保证2者对外都能访问,所以必须进行数据同步,提到同步那就是数据不一致,所以才会同步,如果同步时对外

2021-07-06 15:28:05 212

原创 MySQL总结一

MySQL:总体架构:server层:连接器、解析器、优化器、执行器存储引擎层:提供数据的IO接口连接器:MySQL一个TCP连接长时间不用会断开,由wait_timeout参数控制。解析器:语法解析,对语句分析出具体你要干什么优化器:直到具体语义选择合适的执行计划、选择它认为最高效的执行计划执行器:根据生生的执行计划调用存储引擎进行操作...

2021-07-02 16:49:13 100

原创 ShardingShpere配置default-database-strategy或default-table-strategy失效原因

如下配置:并没有执行该分片策略,包括配置其他分片策略如hint,standrd等原因理解有误:该配置项是针对已配置表规则,但是未配置分片策略而采取的默认分片策略解决方案:配置表策略解决过程:在debug到这里,会根据你的环境配置获取不同的路由对象这里会进行一系列的判断,如果未配置表规则就会创建默认的路由对象,该对象只读取默认数据源然后执行。任何策略都不会执行。可以看到很简单的流程。。。所以咱们的默认配置无效配置了表策略就会返回该路由对象之后会调用doSharding来获取咱们

2021-06-23 15:48:35 4037

原创 Feign设置OkHttpClient以及Ribbon相关

Feign是一个抽象的Http客户端,默认为HttpURLConnection去实现,当然默认的实现效率不高,可以采用HttpClient或者OKHttpClient来进行替换,以提升效率,替换的方法,网上千篇一律都是如下方式:@Configurationpublic class OkHttpConfig { @Bean public okhttp3.OkHttpClient okHttpClient(){ return new okhttp3.OkHttpClie.

2021-06-10 17:45:38 1313

原创 ShardingJDBC分库分表配置文件详解

基于 shardingshpere 4.0POM依赖(Springboot) <dependency> <groupId>org.apache.shardingsphere</groupId> <artifactId>sharding-jdbc-spring-boot-starter</artifactId> <version>4.0.0-RC.

2021-04-27 18:10:16 1652

原创 MySQL主从延迟解决方案

引入mysql生产环境通常都是集群部署,一般都是一主(读写)多从(只读)当客户端发起查询的时候,服务端此时提交事务,主从库同步需要一定时间,这时候就产生主从延迟,客户端会读取到旧数据读写分离架构1.客户端选库读写分离交由客户端来处理,由客户端主动选择操作那个库2.代理模式客户端连接代理,由代理选择操作哪个库2中方式各有优势客户端选库:架构简单,性能较好,但和客户端没有解耦,每次操作客户端都会感知到代理选库:引入中间件,虽然解耦了,但是性能会有影响,引入组件架构变复杂需要维护

2021-04-19 14:05:45 209

原创 String intern详解

JDK1.8环境下:调用intern会检查该字符串是否存在池中,有且和该字符串不相同(equals方法判断)则返回该字符串常量的引用,否则创建该常量并返回引用API:if the pool already contains a string equal to this String object as determined by the equals(Object) method, the...

2019-10-11 21:45:08 187

原创 【刷题】107. 二叉树的层次遍历 II

思路:对二叉树进行遍历,使用递归的方式每次传入当前节点,非空时并存入list中,list中角标代表层级,这样就非常方便的记录每一层的值if(list.size()==level)上句不加的话会产生冗余的集合,这里很妙class Solution { List<List<Integer>> list = new ArrayList<>(); ...

2019-10-06 21:26:55 122

原创 JPA自定义返回结果集

在注解Query中可以直接new对象 @Query("select new com.mytest.vo.VideoVO(u.id,v.userId,v.audioId,v.videoDesc,v.videoPath,v.videoSeconds,v.videoWidth,v.videoHeight) from Video v,User u where v.userId = u.id") ...

2019-10-06 17:43:13 953

原创 【刷题】114. 二叉树展开为链表

思路:将根节点的右子树保存起来,因为要将根节点的左子树替换到右子树的位置,这样满足题意,所以先找到左子树的最右节点,之后将右子树接到最右节点后。之后将根节点的右子树的位置替换成左子树,将左子树位置置空,之后重复更新根节点,直到为null说明展开完成了(因为不停将右树移到最右节点所以如果有节点为null说明完成了整个操作)class Solution { public void fla...

2019-09-08 20:46:56 158

原创 阿里云rabbitmq management外网无法访问管理界面

docker exec -it 容器名称 /bin/bashrabbitmq-plugins enable rabbitmq_management在阿里云管理界面,开放5672和15672

2019-08-29 13:02:36 865

原创 Content type 'multipart/form-data;boundary=---- ;charset=UTF-8' not support

注意方法参数,我一开始想直接@RequestBody以为可以将数据自动封装成bean,但是不可以,只能通过@RequestParam去手动指定前端传入的数据 @RequestMapping(value = "/upload", method = RequestMethod.POST) public Result upload(@RequestParam("file") Multip...

2019-05-28 14:24:47 11118

原创 蕴含详细解释

解释:只要A为T,B为F,那么结果才为F看个例子I promise that if I am healthy, I will come to class. There are four possibilities:I am healthy, and I do come to class. I have kept my promise.I am healthy, and I do not...

2019-04-24 21:23:16 1617 1

原创 Docker入门笔记

作用:Docker将开发环境和代码直接打包,部署时无需关注环境问题。名词:容器:虚拟机,相当于对象镜像:容器的源代码,相当于类安装等常用命令:yum install dockersystemctl start dockersystemctl stop dockersystemctl status docker开机启动:systemctl enable docker配置镜像...

2019-03-30 14:44:53 95

原创 Spring发送Mail + freemaker模板

除Spring核心依赖,还需添加 &lt;dependency&gt; &lt;groupId&gt;org.springframework&lt;/groupId&gt; &lt;artifactId&gt;spring-context-support&lt;/artifactId&gt; &lt;vers...

2018-04-22 12:45:18 493

原创 Spring websocket 404

Spring中的websocket框架必须要走Springmvc中的分发器,所以请把web.xml中的映射改成 / &lt;servlet-mapping&gt; &lt;servlet-name&gt;springmvc&lt;/servlet-name&gt; &lt;url-pattern&gt;/&lt;/url-pattern&gt; &...

2018-04-16 15:01:07 399

原创 Java中缀转后缀表达式

Java中缀转后缀表达式 注释很全,不解释了public class Demo { @Test public void main(){ String hou = zhongTransHou("2+((1-3)*4)-2"); System.out.println(hou); } public String zhongTransHou(S

2017-10-09 11:03:32 542

原创 JS端GET请求encodeURL到web端decodeURL乱码问题

JS:window.location.href = "down.action?filepaths=" + encodeURI(encodeURI(filepaths));WEB:String s = URLDecoder.decode(filepaths, "utf-8");*JS端进行2次编码,之后发给web端进行一次解码就可以了.原理:web端对请求参数默认底层有一次解码动作,是使用ISO885

2017-05-06 21:06:47 3042

原创 httpd: Syntax error on line of C:/httpd/conf/httpd.conf: Cannot load c:/php/ php5apache2_4.dll

搞了4个小时的问题!!运行httpd -k start 会报错!httpd: Syntax errqor on line 530 of C:/httpd/conf/httpd.conf: Cannot load c:/php/php5apache2_4.dll into server: \xd5\xd2\xb2\xbb\xb5\xbd\xd6\xb8\xb6\xa8\xb5\xc4\xc4\xa

2017-03-19 16:04:35 8886 1

原创 Android绘制折线图记录

实现原理:首先这个DataView继承View,重写Draw方法,这样当界面展现出来的时候会调用我们自己写的方法,绘制自己想要的图像。因为这个DataView只负责绘制List集合里面的所有数据,所以外界需要向Dataview里面的list传值,所以我就定义了静态的List变量,方便外界调用。现在我们可以向DataView里面传入数据了,但是如何实时的去动态刷新呢?这里需要一个handler,方便检

2017-03-15 13:18:49 712

原创 Android中的ViewPager制作欢迎界面

这个组件已经把动画效果实现好了,你只要把想要的View传给他就行。很简单!public class WelActivity extends Activity { //存放引用 private int[] imgIds = new int[]{R.mipmap.p1,R.mipmap.p2,R.mipmap.p3,R.mipmap.p4}; //存放ImageView pr

2017-03-14 21:53:39 302

原创 Android无法使用localhost去访问本地服务器

把localhost或者127.0.0.1替换成 10.0.2.2

2017-03-11 16:57:52 899

原创 Android监控传感器参考代码

其实取得传感器的值都是大同小异的1.光感public class MainActivity extends AppCompatActivity { //对传感器进行监听 private SensorEventListener listener = new SensorEventListener() { //传感器精度发生变化的时候 @Override

2017-03-10 21:26:37 862

原创 运行mysqli_connect apache报服务器500错误

搞了一天,才找到问题,记录一下在php.ini 配置文件中的 extension_dir 去掉分号并且将dir改成自己所对应的php目录!; Directory in which the loadable extensions (modules) reside.; http://php.net/extension-dir; extension_dir = "./"; On windows:e

2017-03-09 21:03:13 1502

原创 主题代码编码配色

很厉害!!http://color-themes.com 可以在idea中 File > settings > import settings 选中jar包 重启!

2017-03-09 20:28:09 712

原创 win10使用genymotion出现Unable to start the virtual device

这个提示没有任何的用处!解决办法: 打开VirtualBox 右键 > 设置 > 声音 选择【虚空音频驱动】 一开始是空选项!之后确定 关闭VirtualBox!重新启动Genymotion

2017-03-05 12:53:42 835

原创 android中ListView学习笔记

android中ListView学习笔记1.使用ArrayAdapter去给ListView提供数据布局文件 <ListView android:id="@+id/lv" android:layout_width="match_parent" android:layout_height="match_parent" > </ListVie

2017-03-04 10:40:42 479

原创 android中Intent学习笔记

安卓中Intent学习笔记假设现在已经有了 FirstActivity和SecondActivity 2个活动 并且在AndroidManifest已经注册了清单文件 <application android:allowBackup="true" android:icon="@drawable/ic_launcher" android:label

2017-03-02 19:10:35 393

原创 (OS 10048)通常每个套接字地址(协议/网络地址/端口)只允许使用一次。 : AH00072: make_sock: could not bind to address 0.0.0.0:X

###(OS 10048)通常每个套接字地址(协议/网络地址/端口)只允许使用一次。 : AH00072: make_sock: could not bind to address 0.0.0.0:80 修改D:\Softwave\Dp\Apache\conf\httpd.conf Listen 80 改成 8081###(OS 10048)通常每个套接字地址(协议/网络地址/端口)只

2017-03-01 10:57:08 2623 4

原创 php开发环境搭设

php开发环境搭设需要安装下列三个软件:apache , php , mysqlapache1.下载绿色版的apache,解压 D:\Softwave\Dp\Apache 2.管理员身份cmd,cd到你的D:\Softwave\Dp\Apache\bin目录 3.执行httpd -k install 服务成功安装 4.修改D:\Softwave\Dp\Apache\conf\httpd.con

2017-03-01 10:25:12 3979 1

原创 安卓中为activity创建菜单

安卓中为activity创建菜单1.在res上面右键 > new > android xml file . 2.在弹出对话框中,找到 resourse type 点开右边的下拉框 选为Menu, file中写上资源名字(随意) 3.之后将下面代码粘到xml中,自己根据需求进行修改<?xml version="1.0" encoding="utf-8"?><menu xmlns:android

2017-02-27 20:30:08 819

空空如也

空空如也

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

TA关注的人

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