-
SpringBoot特点之依赖管理和自动装配(实例代码)
1.1依赖管理 父项目做依赖管理 自动版本仲裁:在父项目里规定了依赖的版本,只需要引入以来即可,不需要写版本号 依赖管理 <parent> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-parent</artifactId> <version>2.3.4.RELEASE</version> </parent>
-
Java中for(;;)和while(true)的区别
目录 1.问题来源 2.比较 2.1 测试代码for 2.2 测试代码while 3.结论 1.问题来源 在阅读Java的JDK源码时,发现大部分写源码的大佬多采用for(;;)的方式来死循环,比如说AQS(AbstractQueuedSynchronizer)中大量使用的自旋的方式获取共享状态. /** * 通过"死循环"的方式来正确的添加节点 */ private Node enq(final Node node) { // 不断循环,直至CAS插入节点成功 for (;;) {
-
Crystal最新发布v1.3.0语法相似Ruby编译型编程语言
Crystal 的语法受到 Ruby 语言的启发,属于编译语言,具有静态类型检查功能,但一般不需要指定变量或方法参数的类型,可实现接近 C/C++ 的性能.它的类型由一个先进的全局类型推理算法来解决. 最新发布的版本包含错误修复和功能改进,涉及到编译器.代码生成.调试器.解析器.语义.语法.标准库.加密.网络.运行时和语法宏等方面,详情查看 release note. 部分亮点 系统调用(SYSCALLS) 添加了一个实验性 API 来创建原生系统调用 (#10777).目前仅支持 Linux.
-
如何改变idea和maven中的sdk版本
改变idea和maven中的sdk版本 改的目的:switch()的参数不能传string类型等,jdk高版本才有的特性版本 改变的步骤,以1.5>1.8为例: 1.idea改版本 2.maven改版本 2.在setting.xml中的profiles标签内加入下面这些 <profile> <id>jdk-1.8</id> <activation> <activeByDefault>true</activeByDefault>
-
MySQL复制问题的三个参数分析
今天星期二,早上居然起晚了,上班迟到了,简直是...废话不多说,在昨天的文章中,我们提到了三个参数,分别是: slave_exec_mode参数: sql_slave_skip_counter=N参数; slave-skip-errors=N参数. 这三个参数都可以解决并行复制中的一些指定的错误,例如duplicate key 1062错误等,今天我们简单试验一下,这三个参数的区别: 01 sql_slave_skip_counter参数 这个参数的设置主要是为了跳过某些错误的"event&qu
-
1秒钟使用python建立文件服务器的方法步骤
目录 概述 建立服务器 使用浏览器下载服务器上的文件 使用 wget 命令下载文件 概述 Python 内部集成了很多有趣的工具,今天我们来研究一下如何使用 python 内置的下载服务器来传输文件,在这里我们将学习到: 1秒钟启动一个服务器 使用浏览器或者下载命令下载服务器上的文件 建立服务器 切换到存储文件的目录,在 windows 或者 linux 下输入下述命令启动一个服务器: 若当前系统使用的是 python3 以下版本,使用的命令是: python -m SimpleHTTPServ
-
C语言并查集的非递归实现详解
目录 [算法分析] [算法代码] 并查集压缩路径非递归写法 参考文章 总结 [算法分析] 经典的递归实现的并查集,在数据规模过大时,可能会爆栈,因此有了并查集的非递归实现.核心代码如下: int find(int x) { int t=x; while(t!=pre[t]) t=pre[t]; while(x!=pre[x]) { x=pre[x]; pre[x]=t; } return t; } void merge(int x,int y) { if(find(x)!=find(y)) pr
-
python 判断文件或文件夹是否存在
目录 1.文件 2.文件夹 3.补充 Python 操作文件时,我们一般要先判断指定的文件或目录是否存在,不然容易产生异常. 1.文件 # 是否存在 import os os.path.exists(test_file.txt) # 是不是文件 import os os.path.isfile("test-data") # 是不是文件 from pathlib import Path my_file = Path("/path/to/file") my_file.i
-
vue使用微信扫一扫功能的实现代码
第一步: 安装weixin-js-sdk 和 jquery 包 npm install weixin-js-sdk jquery 第二部: 配置wx.config (配置都是后端返回来的,菜鸟前端只需要按需传值过去就可) 代码如下 import wx from "weixin-js-sdk"; import $ from "jquery"; goSao() { //这里[url参数一定是去参的本网址],请求后端接口换取signature //(兼容安卓和ios) l
-
使用BufferedReader读取本地文件的操作
BufferedReader读取本地文件 在使用BufferedWriter写入文件时,如果忘记关闭文件(close)同时也没有调用flush(),则被写入的文件中是没有内容的. 在关闭文件的同时系统会自动调用flush() try { File file=new File("c://aa.txt"); FileInputStream is=new FileInputStream(file); InputStreamReader reader=new InputStreamReader
-
Python pygame派生精灵和精灵组创建敌机
目录 派生精灵子类代码实现 实现思路: 扩展补充 代码演示 飞机大战游戏简介 使用游戏精灵和精灵组创建敌机 案例需求: 实现步骤: 职责: 代码演示 运行结果 派生精灵子类代码实现 本案例需求的类图如下所示:三个属性,两个方法 本文所要开发的游戏精灵,是继承自pygame的精灵子类 GameSprite image rect speed init(self, image_name, speed = 1): update(self): 实现思路: 想实现游戏精灵这个子类代码.首先,让游戏精灵继承自
-
pandas 添加空列并赋空值案例
创建测试dataframe: >>> import pandas as pd >>> df = pd.DataFrame([{'a':1, 'b':2}, {'a':3, 'b':4}]) >>> df a b 0 1 2 1 3 4 添加两个空列 >>> df[['c','d']]=df.apply(lambda x:('',''),axis=1,result_type='expand') >>> df a b c
-
Android 出现:java.lang.NoClassDefFoundError...错误解决办法
今天测试突然给我说我写的XX界面一点app就crash了! 纳尼,我肯定表示不服啊!怎么可能出现一点击就崩溃的情况呢,明明自己的测试了的! 然后我又用自己的测试机试了下没问题(Version:5.0.2),然后又使用crash的测试手机(Version:4.4),乖乖,居然是4.4才会出现的情况!(4.4以下没有验证哈!可能都会吧!!!) log显示: W/System.err: java.lang.NoClassDefFoundError: android/os/PersistableBund
-
微信小程序 122100版本更新问题解决方案
微信小程序版本更新问题 昨天朋友跑过来说微信更新了6.3.2版本,真机运行小程序有不少的问题.主要集中在wx.redirectTo方法无法正常跳转,且没有任何错误提示.但模拟器上是没有任何问题的. 我当时就很"紧张".小程序又要搞事儿了! 果然今天下午,官方更新了122100版本,一共有90几处改动.这里先不一一列举了.放在另外的文章里.这里主要指出本次更新后对我们项目的影响. 一, redirectTo和navigateTo不能再跳转到带有tab选项卡的页面 首先是welcome欢迎
-
iOS开发验证判断语句之正则表达式小结
前言 大家都知道开发一直离不开一些常用验证格式,比如:邮箱,手机号等等,在开发过程中一般都会新建一个工具类,专门管理这些验证方式,简便开发过程.一般都采用正则表达式的形式来做判断,本文列举一些项目中非常实用的一些正则表达式的判断语句,以后开发起来直接复制粘贴就可以,这样大大节省了开发时间,下面不多说,直接上代码. 一.验证移动手机号: + (BOOL)isMobile:(NSString*)mobile { NSString *regex = @"^1+[34578]+\d{9}";
-
如何利用Mysql计算地址经纬度距离实时位置
目录 前言 思路 数据库地址表设计 需求实现 总结 前言 最近在做项目时候,遇到一个这样子的需求, 点到卡包里面卡券使用使用,需要展示卡券使用附近门店, 思路 数据库地址表设计 通用的区域街道地址表tz_sys_area 字段名称 类型 备注 area_id bigint 区域ID area_name varchar(32) 区域名称 parent_id bigint 所属父区域ID level int 层级 type char 区域类型0国家1省份直辖市2地市3区县 area_name var
-
OpenCV-Python使用cv2实现傅里叶变换
前言 在前一篇的博文中,我们详细讲解了傅里叶变换的原理以及使用Numpy库实现傅里叶变换.但是其实OpenCV有直接实现傅里叶变换的函数. 在OpenCV中,我们通过cv2.dft()来实现傅里叶变换,使用cv2.idft()来实现逆傅里叶变换.两个函数的定义如下: cv2.dft(原始图像,转换标识) 这里的原始图像必须是np.float32格式.所以,我们首先需要使用cv2.float32()函数将图像转换.而转换标识的值通常为cv2.DFT_COMPLEX_OUTPUT,用来输出一个复数阵
-
Selenium环境变量配置(火狐浏览器)及验证实现
前言 配置火狐浏览器对应的selenium驱动 一.火狐浏览器驱动下载 下载地址 根据对应的系统环境下载相应的压缩包(这里下载的是Windows系统64位安装包) 安装包下载成功后将压缩包解压 二.配置环境变量 将geckodriver.exe放置到环境变量中(个人推荐放置到python环境变量中) 选中此电脑图标点击鼠标右键打开属性进入,选择高级系统设置 系统属性界面选择环境变量 环境变量选择Path,点击编辑 复制Python环境变量地址(注意不要进行改动) 我的电脑中粘贴地址前往(注意:s
-
java8新特性教程之time包使用总结
前言 Java8新特性java.time.*包学习. 自从java发布模式变更就发现自己有些跟不上他们的速度,java8还有不少没有用透而9.10.11相继出来,长江后浪推前浪一浪胜过一浪.之前date的使用还不敢自信说多透彻,后续都是泪...(欢迎酱油...) 以jdk1.8.0_111为例 新的设计思路 引入final定义支持时间点不可变和线程安全,长久来的Date的设计一直遭人诟病着: 设计LocalDate.LocalDateTime.LocalTime.instant.Clock.Du
-
Python基于requests库爬取网站信息
requests库是一个简介且简单的处理HTTP请求的第三方库 get()是获取网页最常用的方式,其基本使用方式如下 使用requests库获取HTML页面并将其转换成字符串后,需要进一步解析HTML页面格式,这里我们常用的就是beautifulsoup4库,用于解析和处理HTML和XML 下面这段代码便是爬取百度的信息并简单输出百度的界面信息 import requests from bs4 import BeautifulSoup r=requests.get('http://www.bai
