-
使用RecyclerView实现瀑布流高度自适应
使用RecyclerView实现的瀑布流高度自适应,供大家参考,具体内容如下 背景:使用时在RecyclerView外嵌套了自定义的ScrollView,需要让RecyclerView高度自适应,由于是瀑布流格式网上找了好多方法都无法实现或是动态计算的高度不准确.估计大家都知道recyclerview 内容的高度不是 recyclerview 控制的而是由LayoutManager 来设置的.下面我来说下我的解决方案吧: 布局中的使用 <android.support.v7.widget.Rec
-
监控用户是否关闭浏览器的js代码
test function RunOnBeforeUnload() { window.event.returnValue = '关闭浏览器将退出系统.'; } [Ctrl+A 全选 注:如需引入外部Js需刷新才能执行] 效果如下所示: 当wondow.event.returnValue为空的时候,这个选择提示框是不会出现的. 可是问题又来了:假如我希望用户点击"确定"按钮关闭浏览器的时候能够保存用户相关数据.那么我又应该怎么做呢?看来只有用onunload参数了. 将上面的代码修改如下
-
jQuery实现只允许输入数字和小数点的方法
本文实例讲述了jQuery实现只允许输入数字和小数点的方法.分享给大家供大家参考,具体如下: <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml">
-
MySQL系列之四 SQL语法
目录 一.SQL语言的简介和规范 二.数据库操作 1.创建库 2.删除库 3.查看数据库列表 三.表操作 1.创建表 2.修改表 3.删除表 4.查看表 四.DML: 数据操作语言 1.INSERT 插入数据 2.UPDATE 修改数据 3.DELETE 删除数据 五.SELECT:数据查询 六.多表查询 1.交叉连接 2.内连接 3.外连接 4.完全外连接 5.自连接 七.子查询 八.数据类型 1.数值型 2.字符型 3.日期时间型 4.布尔型 总结 一.SQL语言的简介和规范 是一种特定
-
Java中关于线程安全的三种解决方式
三个窗口卖票的例子解决线程安全问题 问题:买票过程中,出现了重票.错票-->出现了线程的安全问题 问题出现的原因:当某个线程操作车票的过程中,尚未操作完成时,其他线程参与进来,也操作车票 如何解决:当一个线程a在操作ticket的时候,其他线程不能参与进来,知道线程a操作完ticket时,其他线程才可以开始操作ticket,这种情况即使线程a出现了阻塞,也不能被改变 在Java中,我们通过同步机制,来解决线程的安全问题.(线程安全问题的前提:有共享数据) 方式一:同步代码块 synchroniz
-
MySQL B-tree与B+tree索引数据结构剖析
目录 一.产生的背景 1.1 进化要求 二.B-tree 2.1 B-tree特性 三.B+tree 3.1 B+tree特性 四.结论 一.产生的背景 二叉查找树的查找时间复杂度是O(logN),整体的查询效率已经足够高了,那么为什么还会有B树和B+树的进化演进呢? 主要的原因是:二叉树可能会退化成一个线性树,造成磁盘IO次数增高的问题,当有大量的数据存储的时候,二叉查找树查询不能将所有的数据加载到内存中,只能逐一加载磁盘页,每个磁盘对应树的节点,造成大量的磁盘IO操作(最坏的情况IO次数为树
-
PHP获取汉字笔画数功能【测试可用】
本文实例讲述了PHP获取汉字笔画数功能.分享给大家供大家参考,具体如下: 无意中看到这么个东西,用PHP得到汉字的笔画数.以类的方式实现,有那么点意思,先留下了. <?php class bihua { var $data; var $dataIndex; var $dataSpecial; var $tone; var $head; var $format; var $foot; function setTone($tone) { $this->tone=$tone; } function
-
Spring MVC文件配置以及参数传递示例详解
web.xml文件配置 创建好一个SpringMVC项目后,需要在需要在WB-INF文件夹下配置web.xml文件 <?xml version="1.0" encoding="UTF-8"?> <web-app xmlns="http://xmlns.jcp.org/xml/ns/javaee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi
-
python logging通过json文件配置的步骤
logconfig.json { "version":1, "disable_existing_loggers":false, "formatters":{ "simple":{ "format":"[%(asctime)s - %(levelname)s - line(%(lineno)d) - %(filename)s]: %(message)s", "datefmt&qu
-
一篇文章轻松了解SpringBoot配置高级
目录 前言 @ConfigurationProperties 使用场景 小结 宽松绑定/松散绑定 总结 前言 本文介绍的是SpringBoot配置高级部分,课程是跟着黑马走的,所以会有一些借鉴,当然也是笔记,还会参考一些大佬的分享:这里的SpringBoot配置高级,并不是SpringBoot所有的高级配置:SpringBoot体系(或者说Spring)是十分庞大的,笔者也自知不能穷尽,故而只能把所学的东西拿来记一记,练一练.文章内容如若有误,还请大家批评指正. @ConfigurationPr
-
linux下Vps自动备份web和mysql数据库的脚本
用Vps什么事都要自己费心,备份也是.像Linode里的备份服务是要收费的,一个月是5美元.与其花这5美元,不如自己丰衣足食.为服务安装上了Dropbox,设定为每天4:00-6:00 开启同步服务.在之前运行两个脚本,自动备份web文件夹和mysql数据库. 两个脚本都是备份文件到/root/Dropbox/backup目录里,并自动删除10天前的备份.web备份是每周行一次,删除30天前的备份. 一.备份WEB文件夹 1.备份/home/users/public_html目录 2.修改cro
-
C# 如何获取当前进程或线程的ID
目录 获取当前进程或线程的ID C# 进程读取方法 获取当前进程或线程的ID 如果获得当前进程的Id用: Process[] processes = Process.GetProcesses(); foreach(Process process in processes) { if(process.ProcessName == "进程名" { MessageBox.Show(process.Id); } } Process processes =Process.Get
-
Python3实现的爬虫爬取数据并存入mysql数据库操作示例
本文实例讲述了Python3实现的爬虫爬取数据并存入mysql数据库操作.分享给大家供大家参考,具体如下: 爬一个电脑客户端的订单.罗总推荐,抓包工具用的是HttpAnalyzerStdV7,与chrome自带的F12类似.客户端有接单大厅,罗列所有订单的简要信息.当单子被接了,就不存在了.我要做的是新出订单就爬取记录到我的数据库zyc里. 设置每10s爬一次. 抓包工具页面如图: 首先是爬虫,先找到数据存储的页面,再用正则爬出. # -*- coding:utf-8 -*- import re
-
电脑高手常用技巧应用全接触
1.如何实现关机时清空页面文件 打开"控制面板",单击"管理工具→本地安全策略→本地策略→安全选项",双击其中"关机:清理虚拟内存页面文件"一项,单击弹出菜单中的"已启用"选项,单击"确定"即可. 2.如何自行配置Windows XP的服务 如果你是在单机使用Windows XP,那么很多服务组件是根本不需要的,额外的服务程序影响了系统的速度,完全可将这些多余的服务组件禁用.单击"开始→控制面板→
-
怎么在下面的HTML里调用数组cs[]的值
var cs=new Array(5); var mydata="red,300,200,我爱北京天安门,http://blog.yb023.com/uploadfile/200611180016400.wma"; var cs=mydata.match(/[^,]+/g); var obj = document.getElementById("dodododo"); obj.innerHTML = cs[3] + " " + cs[4]; ob
-
python实操案例练习(八)
目录 任务1.记录用户登录日志 任务2.模拟淘宝客服自动回复 任务1.记录用户登录日志 import time def show_info(): print('输入提示数字,执行相应操作:0退出,1查看登录日志') # 记录日志 def write_logininfo(username): with open('log.txt','a')as file: s=f'用户名{username},登录时间:{time.strftime("%Y-%m-%d %H:%M:%S
-
Mysql的数据库迁移到另一个机器上的方法详解
1.先找到迁移服务器上的Data文件,我安装的是mysql5.7,默认安装的路径.那么就是在C:\ProgramData\MySQL文件里面,先把隐藏文件打开. 这个Data文件就是你的数据文件:将你要迁移的数据库文件放到这里如下: 然后打开my.ini:找到datadir,然后将你的Data文件路径复制到下面,你要启动哪一个Data文件就用那个文件的地址,只能存在一个.如下: 然后在重启MySQL服务如下: 然后打开数据库连接工具,我这边用的Navicat,你连接迁移数据库,是你迁移之前的密码
-
java数据结构基础:栈
目录 准备工作 编码环节 push方法 pop方法 empty方法 全部代码 总结 准备工作 工具:idea+jdk8 技术要求:java基础语法 编码环节 首先,我们得先确定下来,用什么数据来模拟栈的操作.由于是一个一个的元素放入栈里面,我们可以考虑用数组来实现. 以上是Java官方文档中的栈定义,我们也只需要实现三个方法:判断是否为空.移除栈顶对象.添加元素到栈的尾部 所以我们事先得定义一个数组: Objects[] arr; 数组定义好了之后呢,想想,我们怎么去获取到栈尾部或者栈首的元素呢
-
把两个文件中的不同之处提取到某个文件中去
复制代码 代码如下: @echo off :: 把两个文件中的不同之处提取到某个文件中去 :: cd.>3.txt for /f "tokens=1* delims=:" %%i in ('findstr /n . 1.txt') do ( for /f "tokens=1* delims=:" %%x in ('findstr /n . 2.txt') do ( if %%i equ %%x if not "%%j"=="%%y
-
一天一个shell命令 文本操作系列-comm命令用法
comm命令比较两个已排序文件每行数据的差异,并将其结果显示出来,如果没有指定任何参数,comm命令读取这两个文件,然后生成三列输出:1>仅在file1中出现的行2>仅在file2中出现的行3>在两个文件中都存在的行. 如果为文件名之一指定 -(减号),则 comm 命令会从标准输入设备读取数据. 题外话:说到比较文件,过来人都用过Beyond Compare,老版本时候,我们只能右键选中用于比较的文件,再选中被比较文件,对比. 如今他有了丰富的界面,支持linux上比较文件. 干什
