工作中的坑
文章平均质量分 60
在日常工作中遇到的问题以及解决思路
就是不掉头发
这个作者很懒,什么都没留下…
展开
-
Arrays.asList() 使用add/remove/clear 抛出UnsupportedOperationException()异常的问题
阿里巴巴java开发规范说到使用工具类Arrays.asList()方法把数组转换成集合时,不能使用其修改集合相关的方法,它的add/remove/clear方法会抛出UnsupportedOperationException(),我们来看一下为什么会出现这种情况。问题分析:我们做个测试public static void main(String[] args) { List<String> list = Arrays.asList("a", "b", "c");原创 2021-09-04 23:40:28 · 395666 阅读 · 1 评论 -
某东商品详情页图片放大镜功能
首先看看某东的效果:这个案例可以分为三个功能模块:鼠标经过小图片的盒子,遮罩层和大图片盒子显示,离开隐藏遮罩层和大图片盒子。遮罩层跟随鼠标移动。移动遮罩层,大图片跟随移动。要实现这个案例,我们需要用到下面几个知识点:属性作用element.offsetTop返回元素相对于带有定位父元素上边框的偏移量element.offsetLeft返回元素相对于带有定位父元素左边框的偏移量element.offsetWidth返回自身包括padding、边框、内容区原创 2021-09-04 23:13:24 · 399495 阅读 · 0 评论 -
返回状态码304 Not Modified详解
第一次访问 200鼠标点击二次访问 (Cache)按F5刷新 304按Ctrl+F5强制刷新 200在客户端向服务端发送http请求时,若返回状态码为304 Not Modified 则表明此次请求为条件请求。在请求头中有两个请求参数:If-Modified-Since 和 If-None-Match。当客户端缓存了目标资源但不确定该缓存资源是否是最新版本的时候, 就会发送一个条件请求。在进行条件请求时,客户端会提供给服务器一个If-Modified-Since请求头,其值为服务器上次返回响应原创 2021-08-29 21:28:02 · 420975 阅读 · 1 评论 -
java压缩包加密上传,解密下载
java压缩包加密上传,解密下载业务场景供应商上传投标文件需要进行加密处理,通过链接下载时下载的时加密的文件,而通过系统内访问接口下载时,下载的是解密好的文件。问题解决思路1. 首先配置三个保存文件的地址:上传地址,解密地址,再次加密地址(也就是最终地址)2. 压缩包加密上传思路:上传压缩文件时,首先上传到上传地址进行解压,解压完成后,删除掉上传地址的压缩文件,生成密码保存数据库再次加密压缩到加密地址,并删除掉解压的文件。3. 压缩包解密下载思路:通过系统外部链接下载时下载的是已经加密好的文件。原创 2021-08-28 09:06:31 · 410950 阅读 · 0 评论 -
android实现在线预览图片,手势放大缩小
android实现在线预览图片,手势放大缩小简要描述首先对文件类型进行判断。WPS不支持在线预览图片,当文件是doc、xls、pdf等,调用WPS。图片时,调用预览图片方法1.判断文件类型方法2.新建一个Activity类,并且继承Activity,来实现对图片的预览 Intent intent=new Intent(context, MainActivity.class); intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);原创 2021-08-28 09:02:04 · 413794 阅读 · 0 评论 -
Cordova实现自定义下载插件和WPS在线预览
Cordova实现自定义下载插件和WPS在线预览简要描述点击下载链接,请求URL,判断手机是否安装WPS,如果安装则调用wps在线编辑,没有安装则对文件进行下载,并在通知栏进行通知,显示下载进度(不调用安卓系统内的下载管理器)。使用AsyncTask异步任务实现,调用publishProgress()方法刷新进度下载请求控件WebView,可以使得网页轻松的内嵌到app里,并且比较强大的是,还可以直接跟js相互调用。WebChromeClient是辅助WebView处理JavaScript的对原创 2021-08-28 08:58:02 · 410490 阅读 · 0 评论 -
Cordova中使用JS调用JAVA,并进行回调,判断手机位置信息是否打开,并将结果进行反馈
cordova判断手机位置信息是否打开,并将结果进行反馈简要描述JS调用java方法,并进行回调配置文件的具体方法需要配置的内容如下(举例)1.在html页面调用JS windows.geoJslocation.getLocation()windows.geoJslocation 需要与 cordova_plugins.js 中的 clobbers 下的命名一致;2.定义JS调用java方法 cordova.define("cordova-plugin-geolocation.loca原创 2021-08-28 08:55:35 · 408722 阅读 · 0 评论 -
vue页面首次加载缓慢原因及解决方案
第一次打包vue的项目部署到服务器下时,发现初次加载特别的缓慢,将近20s页面才加载出来,完全没有开发环境上的那么流畅。主要原因是页面在打包后如果不进行相关配置会导致资源文件特别的大,一次想要全部加载完成会特别的耗时。这里简单总结一下自己用到的一些优化的方案。首先我们可以安装webpack-bundle-analyzer 插件,通过这个插件我们可以在打包的时候看到打包文件的大小,可以明显的看出哪些文件比较大。解决方案11,去掉编译文件中map文件。在编译好后,我们会看到文件夹下有特别多的.map文件原创 2021-08-01 21:05:40 · 186820 阅读 · 0 评论 -
IOS safari浏览器中出现的z-index不生效的层级问题
出现的问题:使用全屏遮罩层时遮不住导航栏,或者是弹窗时被导航栏覆盖,弹窗在导航栏下方此情况仅IOS端出现,安卓和PC端正常,考虑IOS兼容性问题1.为什么会出现层级不生效原因1谷歌,火狐等浏览器都是直接将一个盒子理解成一块一块的,想分层就按照你的z-index高低来区分,而safari不是,safari是将整个浏览器的页面看成一个整体,虽然也是一块一块的,但是他的分层是按照视觉感来分层的,它认为在下面的代码块总比在上面的代码块离人的眼睛近,所以就应该覆盖在上面的代码块上面,不应该用z-index来原创 2021-08-05 21:32:38 · 409881 阅读 · 2 评论 -
服务器异常重启,导致mysql启动失败,问题解决过程记录
思路一:检查linux的安全策略。1、查看SELinux状态:/usr/sbin/sestatus -v2、如果状态为enabled,则为开启状态,将其设置关闭状态,以上截图为设置后的状态:1)临时关闭 setenforce 02)修改/etc/selinux/config 文件,将SELINUX=enforcing改为SELINUX=disabled3)重启服务器 reboot3、启动mysql服务,还是报错systemctl start mysqldsystemctl status m原创 2021-08-23 21:35:04 · 408086 阅读 · 0 评论