- 里氏替换原则
手搓DesignPattern
里氏替换原则java开发语言
里氏替换原则(LiskovSubstitutionPrinciple,LSP)是面向对象设计SOLID原则中的"L",由BarbaraLiskov于1987年提出。其核心思想是:定义子类对象必须能够替换其父类对象,且不会破坏程序的正确性。即:如果程序原本使用父类对象,那么替换为任意子类对象时,程序的行为不应发生异常或逻辑错误。核心思想行为一致子类应保持父类的契约(方法的功能、输入/输出约束),不能
- 软件测试(2):selenium 4.0 特点以及新特性
m0_49024067
软件测试selenium
特点免费开源支持多语言,java、python、c#支持多平台,windows、linux、macOS支持多浏览器,谷歌、火狐、edge、Safari分布式,可以把测试用例分发到不同的机器上执行selenium4.0新特性4.0以上的版本,需要python3.7及以上版本支持与3.0有定位语法差异(后面详细介绍)增加了相对定位above元素上below元素下toLeftOf元素左toRightOf
- 软件工程面试题(二十一)
a18007931080
软件工程算法面试java
1、定义两个变量a和b,不使用第三个变量,使两个值交换publicclasstestMain{publicvoidtest(inta,intb){System.out.println("交换前a="+a);System.out.println("交换前b="+b);a=a+b;b=a-b;a=a-b;System.out.println("交换后a="+a);System.out.print("交
- 软件工程面试题(十九)
a18007931080
软件工程面试java
1、十六进制的216转换十进制是多少:216是16进制,转10进制:=2*16^2+1*16^1+6*16^0=512+16+6=5362、Java中的XML解析方式:dom和jdom解析Java中处理XML文档的标准API有两种,即XML的简单API(SAX,SimpleAPIforXML)和文档对象模型(DOM,DocumentObjectModel),其他的API,如JDOM,dom4j等。
- 深入解析力扣39.组合总和:回溯算法的妙用
某个默默无闻奋斗的人
LeetCodeHot100回溯java算法深度优先
题目描述给定一个无重复元素的数组candidates和一个目标值target,找出candidates中所有可以使数字和为target的组合。数组中的数字可以被重复使用。示例:输入:candidates=[2,3,6,7],target=7输出:[[2,2,3],[7]]代码解析classSolution{//记录当前的组合路径publicListpath=newArrayList>ans=new
- ros订阅图片python_使用python订阅ROS传感器消息/图像
weixin_39542936
ros订阅图片python
importrospyfromsensor_msgs.msgimportImagefromstd_msgs.msgimportStringfromcv_bridgeimportCvBridge,CvBridgeErrorimportcv2importnumpyasnpimporttensorflowastfimportclassify_imageclassRosTensorFlow():def__
- Cocos WebSocket 工具类
寻找优秀的自己
websocket网络协议网络
/***WebSocket工厂类*@cn提供两个创建实例的方法:一个是创建单例模式;另一个是创建多个实例。用于创建WebSocket连接。*提供原生的回调函数onopen、onmessage、onclose、onerror*/exportdefaultclassWebSocketFactory{//privateonopen:(event:Event)=>void;//privatesendMsg
- 结合深度学习模型与物理信息神经网络(PINN)来处理激光自混合干涉数据的Python示例代码
max500600
深度学习python算法深度学习神经网络python
以下是一个结合深度学习模型与物理信息神经网络(PINN)来处理激光自混合干涉数据的Python示例代码。这里我们构建一个简单的全连接神经网络作为深度学习模型,并将物理信息融入损失函数中。importtorchimporttorch.nnasnnimporttorch.optimasoptimimportnumpyasnp#定义一个简单的全连接神经网络classPINN(nn.Module):def
- Java 之Redis
先睡
eclipse
一、Redis核心概念与特性Redis是什么?Redis是基于内存的键值型NoSQL数据库,支持多种数据结构(字符串、哈希、列表、集合、有序集合等),常用于缓存、分布式锁、消息队列等场景。其核心优势在于内存存储带来的高性能(可达10万+QPS)和单线程模型避免并发冲突。Redis为什么快?内存存储,读写无磁盘I/O瓶颈单线程模型避免上下文切换I/O多路复用(如epoll)高效处理网络请求优化的数据
- 【java】List<List<String>>出现覆盖的问题
傻傻虎虎
listwindowsjava问题c++
【Object-C】nsstring和int、float互转,字符串拼接前言问题分析解决:额外补充结构体使用内联函数的时候要注意:函数重载虚函数和纯虚函数前言本博文主要是对java中List<List<String>>出现覆盖的问题的一个介绍,以及记录,方便后续遇到这个问题可以直接找到解决办法。问题分析publicclasslistlistText{publicstaticvoidmain(Str
- JsonArray转List<String>
柠檬喜欢水蜜桃
JsonArray转List//先将JsonArray转为StringStringnewIds=JSONObject.getJSONArray("newIds").toString();//再将String转为ListListlist=JSONObject.parseArray(newIds,String.class);或者JSONArraynewIds=linkParam.getJSONArra
- 21 模板方法(Template Method)模式
jf加菲猫
设计模式模板方法模式设计模式c++
模板方法模式1.1分类(类)行为型1.2提出问题做一款数据挖掘的程序,需要支持不同格式的数据文件,虽然文件格式不同,实现步骤基本一致。1.3解决方案定义一个算法骨架,而将一些步骤延迟到子类。模板方法使得子类可以不改变一个算法的结构即可重定义该算法的某些特定步骤。1.4实现类图抽象类(AbstractClass)会声明作为算法步骤的方法,以及依次调用它们的实际模板方法。算法步骤可以被声明为抽象类型,
- pyqt 界面重载_PyQt 界面控件常用积累
天眞無鞋
pyqt界面重载
QtGui.QApplication(sys.argv)#QApplication类初始化sys.exit(app.exec_())#进入消息循环,等待窗体退出创建主界面的两种方法1.通过继承QtGui.QMainWindow创建类QtGui.QMainWindow.__init__(self)#调用父类初始化方法2.通过继承QtGui.QWidget创建类QtGui.QWidget.__init
- Java接口Json数组入参转换为指定List<Entity>
Damon撇嘴笑
javajsonlist
Json参数示例{"data":[{"name":"行号","type":"Integer","description":"行号"}]}转换为指定ListprivateListconvertJsonToList(StringrequestData){ObjectMapperobjectMapper=newObjectMapper();try{StringjsonData=objectMapper.
- 装饰器模式:如何用Java打扮一个对象?
你被录用了
装饰器模式java开发语言
引言装饰器模式具体实例共有接口类具体被装饰类抽象装饰器类具体装饰器类测试装饰器模式的实际应用JavaI/O体系游戏开发中的角色装备系统总结引言在生活中,我们都知道一句话,“人靠衣装马靠鞍”,如果想要让自己在别人眼里看起来更加好看,更加丰富多彩,就得要学会打扮自己,为自己化妆,为自己穿好看的衣服,学会了打扮的本领,那么我们就可以轻松应对不同场合的需求。无论是日常通勤的简约风,还是晚宴的华丽造型,我们
- Java中如何将List<Integer>转成List<Long>?
麦田里的守望者_zhg
javajava开发语言
使用com.alibaba.fastjson包下的JSONArray类实现publicstaticvoidmain(String[]args){ListlistInt=newArrayListlistLong=JSONArray.parseArray(listInt.toString(),Long.class);System.out.println(listLong);}
- JAVA对象、List、Map和JSON之间的相互转换,JSONArray操作汇总
gys9895
java基础java
系列文章目录文章目录系列文章目录前言一、JAVA对象、List、Map和JSON之间的相互转换1.JAVA对象、List、Map和JSON之间的相互转换二、JSONArray操作汇总,排序,筛选,分组前言提示:这里可以添加本文要记录的大概内容:例如:随着人工智能的不断发展,机器学习这门技术也越来越重要,很多人都开启了学习机器学习,本文就介绍了机器学习的基础内容。提示:以下是本篇文章正文内容,下面案
- JavaScript的发布-订阅模式
叶子爱分享
java
实际上,JavaScript的发布-订阅模式又叫观察者模式。它定义对象间的一种一对多的依赖关系,当一个对象的状态发生改变时,所有依赖于它的对象都将得到通知,实现发布-订阅模式的思路:1、要指定好谁充当发布者;2、给发布者添加一个缓存列表,用于存放回调函数,以便通知订阅者;3、发布消息的时候,发布者会遍历这个缓存列表,依次触发里面存放的订阅者回调函数,可以往回调函数里添加一些参数,订阅者可以接收这些
- spring boot 整合redis
axinawang
springbootspringbootredisbootstrap
1.在pom文件中添加spring-boot-starter-data-redis依赖启动器org.springframework.bootspring-boot-starter-data-redis2.编写三个实体类@RedisHash("persons") //指定操作实体类对象在Redis数据库中的存储空间public class Person{@Id//标识实体类主键private Str
- Threejs实现极坐标和平滑过渡特效
贵州数擎科技有限公司
游戏javascript
大家好!我是[数擎AI],一位热爱探索新技术的前端开发者,在这里分享前端和Web3D、AI技术的干货与实战经验。如果你对技术有热情,欢迎关注我的文章,我们一起成长、进步!开发领域:前端开发|AI应用|Web3D|元宇宙技术栈:JavaScript、React、ThreeJs、WebGL、Go经验经验:6年+前端开发经验,专注于图形渲染和AI技术开源项目:AI简历、元宇宙、数字孪生在这篇博客中,我们
- Dash: 强大的Python数据可视化与Web应用框架
helloaiworld
dashpython信息可视化
Dash简介Dash是由Plotly公司开发的一个开源Python框架,专门用于构建数据科学和机器学习的Web应用程序。它巧妙地结合了Plotly.js、React和Flask等技术,让用户能够使用纯Python代码来创建功能强大、交互性极佳的数据可视化仪表板和Web应用。Dash的核心理念是"无需JavaScript,只需Python"。它提供了一套声明式的组件库,使得开发者可以轻松地将各种UI
- 如何实现和调试REST API中的摘要认证(Digest Authentication)
如何实现和调试RESTAPI中的摘要认证(DigestAuthentication)在保护RESTAPI时,开发者通常会在多种认证机制之间进行选择,其中摘要认证(DigestAuthentication)是一种常见的选择。本文探讨了使用摘要认证的原因,解释了其原理,提供了Java和Go语言的实现示例,并提供了测试该认证的工具和方法。为什么使用摘要认证来保护RESTAPI?摘要认证是一种安全的用户验
- 【Django】教程-5-ModelForm增删改查+规则校验【正则+钩子函数】
唐古乌梁海
Djangodjango
【Django】教程-1-安装+创建项目+目录结构介绍【Django】教程-2-前端-目录结构介绍【Django】教程-3-数据库相关介绍【Django】教程-4-一个增删改查的Demo11.ModelForm11.1models.pyfromdjango.utilsimporttimezonefromdjango.dbimportmodels#数据库,表对应关系classDepartment(m
- 面试八股之消息中间件篇2.1——kafka——Kafka是如何保证消息不丢失?
Ethan Yankang
面试#MQ#kafka面试rabbitmq职场和发展
hello,你好鸭,我是Ethan,一名不断学习的码农,很高兴你能来阅读。✔️目前博客主要更新Java系列、项目案例、计算机必学四件套等。人生之义,在于追求,不在成败,勤通大道。加油呀!个人主页:EthanYankang专栏:史上最强八股文||Java项目温馨提示:划到文末发现专栏彩蛋点击这里直接传送本篇概览:详细讲解了Kafka是如何保证消息不丢失?面试官:Kafka是如何保证消息不丢失候选人:
- 关于决定开始写博文的介绍
庖丁解java
java
半路出家,搞java开发三年后,偶然发呆想到一个问题:什么是java?我突然发现面对这个问题,我居然只能说出一句话:面向对象编程语言。e,突然发现,我该系统的学习一下java底层了。原因就是这个原因,浑浑噩噩三年就过去了,关于java还是一问三不知。这感觉,很挫败。当然,除了挫败,还有个疑惑?就是为什么?为什么我都从业三年了,也一直在工作,需求也一直在写,(强烈依靠百度和通义灵码),但为什么,对j
- 浏览器插件使用-脚本自动化之模拟点击和表单填写
藕粉到底要怎样弄呢
前端自动化运维javascript
1.插件demo文件包见附件2.浏览器打包:右上角菜单-扩展程序-管理扩展程序-打包插件包(插件demo文件包)-将打包出来的.crx文件拖到扩展程序管理页面(chrome://extensions/类似),有的浏览器可能不兼容,使用360极速浏览器,在对应浏览页面启动。3.登录页面自动输入账号密码登录:(1)找到对应元素id或class获取到元素dom:varaccount=document.g
- Flask请求生命周期-wsgi_app代码注解
HelloWorld_SDK
flaskpython后端
新手上路,小心开车一、add_url_ruleadd_url_rule是Flask框架中注册路由的函数(classApp(Scaffold)类方法),源代码注释如下:@setupmethoddefadd_url_rule(self,rule:str,endpoint:str|None=None,view_func:ft.RouteCallable|None=None,provide_automat
- springboot对静态资源的映射规则
呼呼通
微服务springboot
在WebMvcAutoConfiguration类中@ConfigurationProperties(prefix="spring.resources",ignoreUnknownFields=false)publicclassResourceProperties//可以设置和静态资源有关的参数@OverridepublicvoidaddResourceHandlers(ResourceHandl
- Scala 数组和元组
小财迷,嘻嘻
scalascala
1、定义数组数组创建方式一:vara1:Array[String]=newArray[String](3)a1(0)="Jason"a1(1)="Marie"a1(2)="Jimmy"注意:1、泛型使用方括号;2、数组元素访问使用圆括号。数组创建方式二:vara2=Array("Jason","Marie","Jimmy")数组创建方式三:区间数组vara3=Array.range(1,10)//
- JAVA与人工智能:开发未来的AI
m0_68282957
java人工智能开发语言
java人工智能的发展随着人工智能技术的不断发展,越来越多的开发者开始关注Java在人工智能领域中的应用。作为一门广泛应用于企业级应用开发的编程语言,Java在人工智能领域也有着广泛的应用。本文将从Java基础知识回顾开始介绍Java与人工智能的关系,并深入探讨Java在人工智能中的应用及其未来前景。Java基础知识回顾Java是由SunMicrosystems(已被Oracle收购)于1995年
- Spring中@Value注解,需要注意的地方
无量
springbean@Valuexml
Spring 3以后,支持@Value注解的方式获取properties文件中的配置值,简化了读取配置文件的复杂操作
1、在applicationContext.xml文件(或引用文件中)中配置properties文件
<bean id="appProperty"
class="org.springframework.beans.fac
- mongoDB 分片
开窍的石头
mongodb
mongoDB的分片。要mongos查询数据时候 先查询configsvr看数据在那台shard上,configsvr上边放的是metar信息,指的是那条数据在那个片上。由此可以看出mongo在做分片的时候咱们至少要有一个configsvr,和两个以上的shard(片)信息。
第一步启动两台以上的mongo服务
&nb
- OVER(PARTITION BY)函数用法
0624chenhong
oracle
这篇写得很好,引自
http://www.cnblogs.com/lanzi/archive/2010/10/26/1861338.html
OVER(PARTITION BY)函数用法
2010年10月26日
OVER(PARTITION BY)函数介绍
开窗函数 &nb
- Android开发中,ADB server didn't ACK 解决方法
一炮送你回车库
Android开发
首先通知:凡是安装360、豌豆荚、腾讯管家的全部卸载,然后再尝试。
一直没搞明白这个问题咋出现的,但今天看到一个方法,搞定了!原来是豌豆荚占用了 5037 端口导致。
参见原文章:一个豌豆荚引发的血案——关于ADB server didn't ACK的问题
简单来讲,首先将Windows任务进程中的豌豆荚干掉,如果还是不行,再继续按下列步骤排查。
&nb
- canvas中的像素绘制问题
换个号韩国红果果
JavaScriptcanvas
pixl的绘制,1.如果绘制点正处于相邻像素交叉线,绘制x像素的线宽,则从交叉线分别向前向后绘制x/2个像素,如果x/2是整数,则刚好填满x个像素,如果是小数,则先把整数格填满,再去绘制剩下的小数部分,绘制时,是将小数部分的颜色用来除以一个像素的宽度,颜色会变淡。所以要用整数坐标来画的话(即绘制点正处于相邻像素交叉线时),线宽必须是2的整数倍。否则会出现不饱满的像素。
2.如果绘制点为一个像素的
- 编码乱码问题
灵静志远
javajvmjsp编码
1、JVM中单个字符占用的字节长度跟编码方式有关,而默认编码方式又跟平台是一一对应的或说平台决定了默认字符编码方式;2、对于单个字符:ISO-8859-1单字节编码,GBK双字节编码,UTF-8三字节编码;因此中文平台(中文平台默认字符集编码GBK)下一个中文字符占2个字节,而英文平台(英文平台默认字符集编码Cp1252(类似于ISO-8859-1))。
3、getBytes()、getByte
- java 求几个月后的日期
darkranger
calendargetinstance
Date plandate = planDate.toDate();
SimpleDateFormat df = new SimpleDateFormat("yyyy-MM-dd");
Calendar cal = Calendar.getInstance();
cal.setTime(plandate);
// 取得三个月后时间
cal.add(Calendar.M
- 数据库设计的三大范式(通俗易懂)
aijuans
数据库复习
关系数据库中的关系必须满足一定的要求。满足不同程度要求的为不同范式。数据库的设计范式是数据库设计所需要满足的规范。只有理解数据库的设计范式,才能设计出高效率、优雅的数据库,否则可能会设计出错误的数据库.
目前,主要有六种范式:第一范式、第二范式、第三范式、BC范式、第四范式和第五范式。满足最低要求的叫第一范式,简称1NF。在第一范式基础上进一步满足一些要求的为第二范式,简称2NF。其余依此类推。
- 想学工作流怎么入手
atongyeye
jbpm
工作流在工作中变得越来越重要,很多朋友想学工作流却不知如何入手。 很多朋友习惯性的这看一点,那了解一点,既不系统,也容易半途而废。好比学武功,最好的办法是有一本武功秘籍。研究明白,则犹如打通任督二脉。
系统学习工作流,很重要的一本书《JBPM工作流开发指南》。
本人苦苦学习两个月,基本上可以解决大部分流程问题。整理一下学习思路,有兴趣的朋友可以参考下。
1 首先要
- Context和SQLiteOpenHelper创建数据库
百合不是茶
androidContext创建数据库
一直以为安卓数据库的创建就是使用SQLiteOpenHelper创建,但是最近在android的一本书上看到了Context也可以创建数据库,下面我们一起分析这两种方式创建数据库的方式和区别,重点在SQLiteOpenHelper
一:SQLiteOpenHelper创建数据库:
1,SQLi
- 浅谈group by和distinct
bijian1013
oracle数据库group bydistinct
group by和distinct只了去重意义一样,但是group by应用范围更广泛些,如分组汇总或者从聚合函数里筛选数据等。
譬如:统计每id数并且只显示数大于3
select id ,count(id) from ta
- vi opertion
征客丶
macoprationvi
进入 command mode (命令行模式)
按 esc 键
再按 shift + 冒号
注:以下命令中 带 $ 【在命令行模式下进行】,不带 $ 【在非命令行模式下进行】
一、文件操作
1.1、强制退出不保存
$ q!
1.2、保存
$ w
1.3、保存并退出
$ wq
1.4、刷新或重新加载已打开的文件
$ e
二、光标移动
2.1、跳到指定行
数字
- 【Spark十四】深入Spark RDD第三部分RDD基本API
bit1129
spark
对于K/V类型的RDD,如下操作是什么含义?
val rdd = sc.parallelize(List(("A",3),("C",6),("A",1),("B",5))
rdd.reduceByKey(_+_).collect
reduceByKey在这里的操作,是把
- java类加载机制
BlueSkator
java虚拟机
java类加载机制
1.java类加载器的树状结构
引导类加载器
^
|
扩展类加载器
^
|
系统类加载器
java使用代理模式来完成类加载,java的类加载器也有类似于继承的关系,引导类是最顶层的加载器,它是所有类的根加载器,它负责加载java核心库。当一个类加载器接到装载类到虚拟机的请求时,通常会代理给父类加载器,若已经是根加载器了,就自己完成加载。
虚拟机区分一个Cla
- 动态添加文本框
BreakingBad
文本框
<script> var num=1; function AddInput() { var str=""; str+="<input
- 读《研磨设计模式》-代码笔记-单例模式
bylijinnan
java设计模式
声明: 本文只为方便我个人查阅和理解,详细的分析以及源代码请移步 原作者的博客http://chjavach.iteye.com/
public class Singleton {
}
/*
* 懒汉模式。注意,getInstance如果在多线程环境中调用,需要加上synchronized,否则存在线程不安全问题
*/
class LazySingleton
- iOS应用打包发布常见问题
chenhbc
iosiOS发布iOS上传iOS打包
这个月公司安排我一个人做iOS客户端开发,由于急着用,我先发布一个版本,由于第一次发布iOS应用,期间出了不少问题,记录于此。
1、使用Application Loader 发布时报错:Communication error.please use diagnostic mode to check connectivity.you need to have outbound acc
- 工作流复杂拓扑结构处理新思路
comsci
设计模式工作算法企业应用OO
我们走的设计路线和国外的产品不太一样,不一样在哪里呢? 国外的流程的设计思路是通过事先定义一整套规则(类似XPDL)来约束和控制流程图的复杂度(我对国外的产品了解不够多,仅仅是在有限的了解程度上面提出这样的看法),从而避免在流程引擎中处理这些复杂的图的问题,而我们却没有通过事先定义这样的复杂的规则来约束和降低用户自定义流程图的灵活性,这样一来,在引擎和流程流转控制这一个层面就会遇到很
- oracle 11g新特性Flashback data archive
daizj
oracle
1. 什么是flashback data archive
Flashback data archive是oracle 11g中引入的一个新特性。Flashback archive是一个新的数据库对象,用于存储一个或多表的历史数据。Flashback archive是一个逻辑对象,概念上类似于表空间。实际上flashback archive可以看作是存储一个或多个表的所有事务变化的逻辑空间。
- 多叉树:2-3-4树
dieslrae
树
平衡树多叉树,每个节点最多有4个子节点和3个数据项,2,3,4的含义是指一个节点可能含有的子节点的个数,效率比红黑树稍差.一般不允许出现重复关键字值.2-3-4树有以下特征:
1、有一个数据项的节点总是有2个子节点(称为2-节点)
2、有两个数据项的节点总是有3个子节点(称为3-节
- C语言学习七动态分配 malloc的使用
dcj3sjt126com
clanguagemalloc
/*
2013年3月15日15:16:24
malloc 就memory(内存) allocate(分配)的缩写
本程序没有实际含义,只是理解使用
*/
# include <stdio.h>
# include <malloc.h>
int main(void)
{
int i = 5; //分配了4个字节 静态分配
int * p
- Objective-C编码规范[译]
dcj3sjt126com
代码规范
原文链接 : The official raywenderlich.com Objective-C style guide
原文作者 : raywenderlich.com Team
译文出自 : raywenderlich.com Objective-C编码规范
译者 : Sam Lau
- 0.性能优化-目录
frank1234
性能优化
从今天开始笔者陆续发表一些性能测试相关的文章,主要是对自己前段时间学习的总结,由于水平有限,性能测试领域很深,本人理解的也比较浅,欢迎各位大咖批评指正。
主要内容包括:
一、性能测试指标
吞吐量、TPS、响应时间、负载、可扩展性、PV、思考时间
http://frank1234.iteye.com/blog/2180305
二、性能测试策略
生产环境相同 基准测试 预热等
htt