- 博客(51)
- 资源 (7)
- 收藏
- 关注

原创 Error:(5, 59) java: 程序包javax.servlet.http不存在
在创建javaweb项目的时候报错,如下:Error:(5, 59) java: 程序包javax.servlet.http不存在Error:(6, 45) java: 程序包javax.servlet.http不存在Error:(6, 92) java: 程序包javax.servlet.http不存在Error:(6, 143) java: 程序包javax.servlet不存在Er...
2019-01-10 15:03:28
27944
7
原创 深入理解AQS之ReentrantReadWriteLock
深入理解ReentrantReadWriteLock,包括使用,设计原理,锁降级,及从源码角度剖析读写锁的获取及释放
2022-11-19 09:40:08
123
原创 深入理解AQS之CountDownLatch
深入理解AQS之CountDownLatch,包括什么事CountDownLatch,使用方法及底层原理
2022-11-08 21:57:28
734
原创 设计模式之模式分类
一.模式分类创建型模式定义:用来创建对象的模式,抽象了实例化的过程,帮助一个系统独立于其关联对象的创建、组合和表示方式。简述:对类的实例化过程的抽象化,能够提供对象的创建和职责作用:将系统所使用的具体类的信息封装起来;隐藏类的实例是如何被创建和组织的,外界对于这些对象只知道它们共同的接口,而不清楚其具体的实现细节封装创建逻辑,不仅仅是new一个对象这么简单封装创建逻辑变化,客户代码尽量少修改或不修改共5种:单例模式工厂方法模式抽象工厂模式建造者模式原型模式结构型模式定
2022-02-06 16:37:49
613
原创 集合概要小结
一.简介集合的主要作用是存储对象的容器,本质是用于存储对象的数据结构。二.类型集合类存放于java.util包中,主要set、list、map。Collection是集合list set queue的最基本接口Iterator:迭代器,可以通过迭代器遍历集合中的数据Map:映射表的基础接口关系如下图:2.1 List一共三个实现类:ArrayList、Vector、LinkedListArryList查询较快,增删较慢。内部通过数组实现,允许对元素进行快速随机访问。数组的每个元
2021-11-26 22:53:16
462
原创 Mongodb简介与常用命令
一.简介MongoDB是一个基于分布式文件存储的数据库。由C++语言编写。旨在为WEB应用提供可扩展的高性能数据存储解决方案。MongoDB是一个介于关系数据库和非关系数据库之间的产品,是非关系数据库当中功能最丰富,最像关系数据库的。它支持的数据结构非常松散,是类似json的bson格式,因此可以存储比较复杂的数据类型。二.特点Mongo最大的特点是它支持的查询语言非常强大,其语法有点类似于面向对象的查询语言,几乎可以实现类似关系数据库单表查询的绝大部分功能,而且还支持对数据建立索引。它的特点是高性
2021-07-04 22:50:48
185
原创 Maven
一.前言1.介绍Maven 是一个项目管理工具,可以对 Java 项目进行构建、依赖管理,现为由 Apache 软件基金会主持的独立 Apache 项目。构建:通过maven命令可以完成项目从清理、编译、测试、打包、部署依赖管理:对jar包的管理2.常用命令清理:clean编译:compile测试:test打包:package安装:install3.坐标范例 <dependency> <groupId>mysql</groupId> &
2021-02-28 22:14:50
714
原创 Excel表格生成sql数据
前言最近项目着急着上线一个新版本,因开发时间太短,暂时直接将数据批量导入数据库,产品方只给了个excel表格,what?虽然并没有过多的接触过excel的使用,但是作为一个有志向的程序员,还是要学会怎么使用excel生成sql语句,不然一条一条的写插入sql语句,数据量少的话还可以,几百条的数据能让你写到崩溃。但是用excel生成mysql语句就不同了,熟练的话几分钟就可以完成。需求将表格中的数据导入到数据库表中,其中status字段默认为0,is_enable字段默认为1,create_time字段
2020-07-01 19:33:35
1431
原创 Mac下安装rocketMQ
一.前提是电脑上已经安装了JDK,没有安装的参照https://jingyan.baidu.com/article/908080221f3cfefd91c80fbf.html二.RocketMQ的下载与安装下载:官网地址:http://rocketmq.apache.org/docs/quick-start/点击那个蓝色的here就可以下载了。安装:进入下载目录位置解压 > unzip rocketmq-all-4.7.0-source-release.zip进入目录>
2020-05-17 18:27:33
6275
7
原创 mac下如何安装redis
一.前言本文主要记录在mac环境下安装redis。二.安装步骤1.下载在redis官网下载redis稳定版,地址为:https://redis.io/download2.解压在下载路径下使用加压命令或者双击压缩文件解压tar zxvf redis-5.0.8.tar.gz3.移动将解压的文件夹移动到/usr/local/下mv redis-5.0.8 /usr/loc...
2020-03-13 11:40:01
2296
原创 WebSocketConfigurationSupport$NoOpScheduler.schedule
项目中使用了WebSocket进行消息的推送,同时又使用了定时器Scheduled进行定时执行操作,这两者同时使用抛出异常。java.lang.IllegalStateException: Unexpected use of scheduler. at org.springframework.web.socket.config.annotation.WebSocketConfigurat...
2019-11-15 17:58:27
438
原创 springboot集成swagger 时报o.s.web.servlet.PageNotFound :No mapping for GET异常
问题如下springboot启动的时候 报上述异常MySwaggerConfig代码:@Configuration@EnableSwagger2 //必须存在public class MySwaggerConfig extends WebMvcConfigurationSupport{ @Bean public Docket api() { return new Docket...
2019-10-21 20:21:08
4996
原创 Java 在线预览并右键下载
项目中有涉及到在线预览生成图片的需求,因刚学习web知识,在此做个记录,以便后续方便查看。一.在jsp页面设置点击按钮&amp;amp;lt;button onclick=&amp;quot;viewAdvice('+ rows.userid + ');&amp;quot;&amp;amp;gt;预览&amp;amp;lt;/button&amp;amp;gt;';点击预览按钮,调用方法fun
2019-02-19 14:39:05
307
原创 Java下载文件时名称出现中文乱码
问题:在进行文件下载的时候出现中文名称乱码,显示不出来response.setHeader(“Content-Disposition”, “filename=自定义的名称.jpg” )解决办法:对中文名称进行编码处理: String fileName="自定义名称.jpg"; //获得浏览器信息并转换为大写 String agent = re...
2019-02-19 11:28:46
1303
原创 Cannot download 'https://plugins.jetbrains.com/pluginManager/?action=download
当想要在androidstudio中下载插件的时候,出现上述问题下载超时导致无法下载插件,这时可以在设置中修改选项解决。1).2).Appearance&Behavior -->System Settings -->Updates3).将Use secure connection选项去掉勾选4).保存设置之后就可以下载插件了通过以上修改设置就可以愉快的下载插件...
2018-12-03 10:50:05
7476
1
原创 Ubuntu下遇到的问题
以下为操作ubuntu时遇到的问题,在此记录一下。 一.取消屏保 ubuntu取消屏保的操作,settings–>power–>never,设置为用不息屏。二.ubuntu下python 查看python路径:whereis python 或者 which python查看python版本号 :python安装python 1.首先更新一下系统源 :...
2018-06-29 16:44:45
415
原创 Android8.0 允许安装未知来源权限(一)
一. 简介 在Android8.0之前的系统中,用户要从除官方应用商店之外的来源安装App时,需要打开系统设置当中的”允许未知来源”安装应用程序的选项,在最新的Android O当中谷歌已经删除了该永久授权的选项,从系统设置当中已经找不到该开关。谷歌将永久授权修改为每次的单独授权,当用户每次安装第三方来源的android软件时需要对软件权限进行手动确认。 二. 影响 当你的应...
2018-04-26 14:27:43
67880
8
原创 单例模式
一.前言 在日常开发中或者在面试中用到的设计模式最多的就是单例模式,这篇文章简单的讲一下单例,包括单例的概念,好处,特点,几种写法及怎样防止攻击单例。 二.概念 单例模式是一种对象创建模式,它用于产生一个对象的具体实例,它可以确保系统中一个类只产生一个实例 三.好处 对于频繁使用的对象,可以省略创建对象的时间,由于new操作的次数减少,因而对系统内存的使用频率也会降低,将减轻GC压力...
2018-04-03 17:15:46
196
原创 SQLite数据库版本升级
一.简介 我们在开发应用的时候,存储数据可能会用到数据库。第一个版本时所设计的数据库结构,如果在以后的app版本中需要增加业务逻辑,数据库的表可能要做相应的修改,那么原来的数据库结构就不能用了,这时就需要对数据库进行升级。二.升级方案 1.让用户将应用卸载然后再安装最新版本的app 2.对数据库进行升级 对于第一种方案,用户卸载老版本就会造成数据丢失,这样...
2018-03-12 17:01:56
9708
原创 ProGuard技术详解
目录 一.简介 ProGuard是一个开源的Java代码混淆器,在Android中一提起ProGuard,我们通常第一想到的是用来混淆代码的,其实它的功能并不仅限于此,有以下四个功能: (1)压缩(Shrink):侦测并移除代码中无用的类、字段、方法和特性 (2)优化(Optimize):对字节码进行优化,移除无用的指令 (3)混淆(Obfuscate):使用a,b,c,d这样简短而
2018-01-17 16:02:08
3243
原创 WebView开发详解
目录 一.前言 现在很多app并不是纯原生开发,而是会嵌套网页,比如一些经常会变动的页面往往会采用嵌套h5网页的形式展现。Android中就有一个专门用来加载html网页的组件,这个组件就是Webview。 二.概述 Webview是Android开发中常见的控件,内部实现是采用渲染引擎来展示内容,Android4.4以前采用Webkit渲染引擎,4.4版本及
2018-01-11 16:34:18
1899
原创 小米手机调用系统相册异常
在做项目的时候,需要调取手机本地的图片并上传到服务器,在小米手机上测试的时候,获取的cursor为null,在其他手机上是没有问题,查询资料发现,在Android4.4之后返回的不再是图片的绝对路径,而是图片的编码,我们需要做一些转换处理才能使用。 public static Uri geturi(android.content.Intent intent,Context context) {
2017-09-04 16:08:38
2718
原创 app:processDebugManifest 错误
今天在开发中遇到了这个错误,在此记录一下解决办法。Error:Execution failed for task ':app:processDebugManifest'.> Manifest merger failed with multiple errors, see logs我勒个去,这日志信息也太少了吧,我又不是大仙,别急,有办法查看更多的信息。在AndroidStudio的terminal
2017-08-28 16:59:56
2917
原创 面向对象之接口隔离原则
一.简称英文全称InterfaceSegregation Principles,缩写是ISP。二.定义一种定义是:客户端不应该依赖于它不需要的接口;另一种定义是类间的依赖关系应该建立在最小的接口上。三.问题比如当我们用到流的时候,在最后都要做关闭操作,我们既要判断非空操作,又要try…catch,写一串代码,如果只用到一个类还好,要是类多的话,就要写很多了,是可忍孰不可忍。四.解决既然都要实现了Cl
2017-07-09 09:59:25
432
原创 面向对象原则之里氏替换原则
一.简称 英文全称是Liskov Substitution Principle, 缩写是LSP二.定义 如果对每一个类型为S的对象O1,都有类型为T的对象O2,使得以T定义的所有程序P在所有的对象O1都替换成O2时,程序P的行为没有发生变化,那么类型S是类型T的子类型。 简单的说就是所有引用基类的地方必须能透明地使用其子类的对象。通俗点讲,只要父类能出现的地方子类就可以出现,而且替换为子类也不
2017-07-05 11:08:38
675
原创 开闭原则
1.简称 开闭原则的全称是Open close Principle ,缩写是OCP2.定义 软件中的对象(类、模块、函数等)应该 对于扩展是开放的,对于修改是封闭的。3.问题 在软件的生命周期内,因为变化、升有代码进级和维护等原因需要对软件原行修改时,可能会将错误引入原本已经测试过的旧版本中,破环原有系统。4.解决 尽量使用扩展的方式实现变化,但在实际开发中往往修改原有代码、扩展代码同时进行
2017-07-02 07:22:09
462
原创 GreenDao3.2.2使用
转载请注明出处:http://blog.youkuaiyun.com/feibendexiaoma/article/details/73912660 一.前言 官方文档是这样解释的: greenDAO是一款开放源代码的Android ORM,使SQLite数据库的开发变得有趣。 它减轻开发人员处理低级数据库需求,同时节省开发时间。 SQLite是一个令人敬畏的嵌入式关系数据库。 不过,编写SQL和解析查询
2017-06-29 15:28:12
3280
原创 单一职责原则
1.简称单一职责原则的英文名称是Single Responsibility Principle, 简称RSP。2.定义就一个类而言,应该仅有一个引起它变化的原因,简单的说,一个类中应该是一组相关性很高的函数、数据的封装。即一个类只负责一项职责,而不应该同时负责多个职责。3.问题比如C类负责两个不同的职责D1和D2。D1功能需求发生变化时,更改C类,有可能使原本正常运行的D2发生错误,代码耦合性太高,
2017-06-29 15:20:01
323
原创 Ubuntu 创建androidstudio快捷图标到桌面
命令如下:sudo gedit /usr/share/applications/Studio.desktop因为ubuntu的快捷方式都在/usr/share/applications/路径下创建在打开的文件中添加以下配置[Desktop Entry]Name =AndroidStudioComment =android studioExec =/home/androidstudio/andr
2017-06-26 14:12:26
2676
原创 ubuntu Java环境配置
1.官网下载JDK文件jdk-8u121-linux-x64.tar.gz2.创建一个文件夹用于作为安装目录,sudo mkdir /home/jdk3.在下载文件夹中打开终端 ,移动文件到/jdk目录下sudo mv jdk-8u121-linux-x64.tar.gz /home/jdk4.解压文件tar -zxvf jdk-8u121-linux-x64.tar.gz5 配置环境变量sudo
2017-06-26 14:08:59
432
原创 Ubuntu输入su提示认证失败的解决方法
在终端中输入su切换时,输入密码提示认证失败,因为root用户默认是被锁定的,不允许登录,那么怎么设置可用呢 (1)终端输入 sudo passwd (2)然后输入ubuntu安装时设置的密码 (3)接着会让你设置新的Root用户密码 (4)最后重复输入新的Root用户密码就行 这样就更新了密码
2017-06-26 14:03:53
781
GreenDao3.2.2使用demo
2017-06-29
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人