- 博客(78)
- 收藏
- 关注
![](https://csdnimg.cn/release/blogv2/dist/pc/img/listFixedTop.png)
原创 spd,powerbuilder开发日记
数据窗口free类型窗口,字段过长自动换行在数据窗口里,找到该列,右键属性,设置edit,勾选auto vertical scroll
2020-11-09 13:40:24
689
原创 dubbo学习笔记
分布式系统中的相关概念为了解决企业中比较复杂的问题大型互联网项目架构目标互联网项目特点:用户多流量大,并发高海量数据易受攻击功能频繁变更快衡量网站的性能指标:响应时间:指执行一个请求从开始到最后收到相应数据所花费的所有时间并发数:指系统同时处理的请求数量并发连接数:指的是客户端向服务端服务器发起的请求,并建立了TCP链接,每秒钟服务器连接的总TCP数量请求数:也称为QPS(Query Per Second)指每秒钟多少请求并发用户数:单位内有多少用户吞吐量:指单位
2022-02-14 08:42:25
332
原创 【深入浅出设计模式-构建型模式Creational Patterns】
构建型模式工厂模式 Factory设计模式的世界丰富多彩,比如生产一个个“产品”的工厂模式,衔接两个不相关接口的适配器模式,用不同的方式做同一件事情的策略模式,构建步骤稳定、根据构建过程的不同配置构建出不同对象的建造者模式等等,但是无论何种设计模式,都基于以下六大设计原则:开闭原则:一个软件实体如类、模块和函数应该对修改封闭,对拓展开放。单一职责原则:一个类只做一件事,一个类应该只有一个引起它修改的原因。里氏替换原则:子类应该可以完全替换父类。也就是说在使用继承时,只拓展新功能,而不要破坏父类原
2022-01-19 19:30:00
559
原创 项目二笔记
vue3里element-plus的input框使用prefix-iconmain.js//main.jsimport { createApp } from 'vue'import App from './App.vue'import router from './router'import store from './store'import ElementPlus from 'element-plus'import 'element-plus/dist/index.css'import
2021-12-22 15:30:48
371
原创 【项目一笔记】
论坛项目笔记GITEE第三方登录generator自动生成model与mapper拦截器(拦截未登录用户)几种stream流写法GITEE第三方登录1.gitee准备,在gitee页面,拉到最底下,点击openAPI,然后点击查看oauth文档,学习学习。然后在gitee 设置,在左边菜单栏找到第三方应用,随后创建应用。编辑 应用名称,应用主页(),应用回调地址(http://localhost:8080/callback),权限(user_info)2.代码,在登陆页面,给a标签【登陆】添加链接t
2021-12-16 14:10:21
3166
原创 api接口的三层构架、控制层基本的crud
接着上一篇的那些API封装类,还是同样的源码源码来自github上一个Java的学习项目 mall-learning下的mall-tiny01GitHub链接????一、简介mall_tiny01源码是mall下的入门用的,mall是一个springboot商城项目,然后mall_tiny01是写的商品品牌的crud,实体类(PmsBrand和PmsBrandExample)。对于底层的一些类(mapper和实体类)是自动生成,具体怎么实现可以查看githuber写的文档文档链接????自动生
2021-04-22 11:07:07
632
原创 api接口的返回信息封装(code,message,data)与分页数据封装,通用。
源码来自github上一个Java的学习项目 mall-learning下的mall-tiny01GitHub链接????先看目录结构commonapiCommonPage (分页数据封装????)CommonResult (通用返回对象)IErrorCode (interface,封装API的错误码)ResultCode(枚举一些常用的API操作码)一、对于一个简单的api,最显而易见的就是 码(code) 和 信息(message),故对于这通用的方法,就写到接
2021-04-19 16:59:30
13896
2
原创 PowerBuilder,关于数据窗口当作集合的使用
一、数据窗口的设置有时候,我们需要一些符合某些情况下的数据,它的结果有可能是集合。比如查找入库时间为今天的货品id。如果按照Java的思想,直接将查询结果放到集合里面返回,再对该集合进行其他操作。首先pb的特点就是随时随地都可以直接写sql查数据进行数据库操作,pb的操作也大致是这样,可以将我们的数据窗口理解为实体类entity,datasource就是mybatis里的sql,设置好数据窗口的参数和返回值(返回列),对数据窗口实例化,然后对该对象进行传参和retrieve,最后对该数据窗口对象进行其他操
2021-04-06 15:48:57
350
原创 后端处理token以及身份验证
一、生成token后端利用生成token的方式来进行用户状态的保持和验证,token简单的解释就是后端二、获取到前端请求中的token值三、验证token值,是否存在、是否过期等等。四、参数注解
2021-03-29 21:22:20
11106
5
原创 RESTFUL api设计规范
一:URI应该将api部署在专用域名之下。URL中尽量不要大写URL中尽量不要出现动词URI中的名词表示资源集合,使用复数形式URI中可以包含queryString,避免层级过深二:HTTP动词对于资源的具体操作类型,由HTTP动词表示,常用的动词有以下五个;GET:从服务器取出资源(一项或者多项)POST:在服务器新建一个资源PUT:在服务器更新资源(客户端提供改变后的完整资源)PATCH:在服务器更新资源(客户端提供改变的属性)DELETE:从服务器删除资源...
2021-03-25 17:00:28
259
原创 最好的git操作学习网站
Learn Git Branching记录git merge XXX :把XXX分支合并到自己的分支git rebase XXX :把自己合并到XXX分支上git checkout main^ :移动到main分支的上一个分支点git checkout head^ :移动到当前head点的上一个分支点git checkout head~4 :后退四个点git branch -f main head~3 :强制将 main 分支 移动到head的前面三个点上...
2021-03-11 16:43:38
151
原创 Vue.js 【基础】笔记
1.声明式渲染首先官网先用一个最简单的例子介绍了vue.js的核心,就是用模版语法来将数据渲染到dom的系统,<div id="app"> {{message}}</div>..var app = new Vue({ el:"#app", //el用来绑定上面的div data:{ message:'Hello Vue' //填充的数据是message }})在 < script > 里新建了一个vue对象,然后用 el 绑定了 上面的 di
2020-12-22 22:02:08
79
原创 Vue.js 官网 - 列表渲染
在官网教程里,基础的列表渲染里,有一个在组件上使用v-for的例子如下所示:my-component是一个自定义的组件,里面使用了v-for组件“item in items”----遍历items里的每一个元素":key=“item.id”----并拿出元素的每一个id<my-component v-for="item in items" :key="item.id"></my-component>它演示了一个比较完整的示例//页面<div id="todo
2020-12-11 10:47:02
451
2
原创 git语句,实用主义(内附冲突解决non-fast-forward)
先去官网,根据自己的需求,下载对应的版本的git,然后安装在本地新建要存放项目的文件夹进入文件夹,右键 Git Bash Here然后在GitHub上新建仓库,增加内容在git中clone项目有两种方式:HTTPS和SSH。HTTPS:不管是谁,只要拿到了url就可以clone,但是在之后push的时候需要验证用户名和密码。SSH:clone的项目你必须是拥有者或者管理员,并且在clone前需要添加SSH Key。SSH在push的时候,不需要输入用户名,如果你有配置SSH Key的密码,则
2020-06-10 16:30:43
383
原创 肯尼小龟的爪洼日记
6.2select distinct在表中,可能会包含重复值。这并不成问题,不过,有时您也许希望仅仅列出不同(distinct)的值。关键词 DISTINCT 用于返回唯一不同的值。foreach标签public List<Entity> queryEntity(List<Long> userids);<select id="queryEntity" resultMap="BaseResultMap"> select * form Entity wh
2020-06-02 18:22:39
339
原创 小白的git初体验,基本使用。
每个公司里都应该有一个自己的远端git仓库,存放着自己公司的项目代码。刚进公司的时候总是有很多奇奇怪怪的问题,记录一下我的问题。话不多说第一步:拉取。在本地找一个干净的目录,专门用来存放拉去的项目,操作就是右键 git bash here,先 init成功之后文件里会有 .git然后再 拉取 【SSH】克隆 远端分支名 仓库地址/项目 本地项目名如果提示什么什么权限失败,那可能是公司的运营大佬还没给你开权限。如果还失败,可能是需要SSH密钥,阿里云或者GitHub上应该有教程的怎
2020-05-28 18:27:17
198
原创 1.String和其它类型格式转化。2.接收String类型的数,判断是否有小数
一String s = String.valueOf(value);//value可以为任意一种数字类型String s = "233";byte b = Byte.parseByte(s);short t = Short.parseShort(s);int i = Integer.parseInt(s)long l = Long.parseLong(s);Float f = Float.parseFloat(s);Double d = Double.parseDoule(s
2020-05-28 14:09:51
308
原创 Springboot,mybatis,映射文件里sql标签Base_column_List引用失败
刚开始新建boot项目时,mybatis的启动器是idea自动帮我选的,在写映射文件时我用的sql标签,运行发现报错,说是找不到我这个包下的Base_Column_List<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">...
2020-04-20 17:28:54
6326
2
原创 Cause: java.lang.ClassCastException: java.lang.Integer cannot be cast to java.lang.Long
Could not set parameters for mapping: ParameterMapping{property=‘userId’, mode=IN, javaType=class java.lang.Long, jdbcType=BIGINT, numericScale=null, resultMapId=‘null’, jdbcTypeName=‘null’, expressio...
2020-04-20 17:02:52
2836
原创 Java面试——框架相关
1. 什么是aopAOP的定义:AOP通过预编译方式和运行期动态代理实现,在不修改源代码的情况下,给程序动态统一添加功能的一种技术,简称AOP。是spring框架的一个重要内容,是OOP(面向对象编程)的衍生模范型AOP的作用:利用AOP对业务逻辑的各个部分进行隔离,降低业务逻辑的耦合性,提高程序的可重用型和开发效率。主要用于对同一对象层次的公用行为建模...
2020-03-31 10:15:23
91
原创 Java面试整理——数据库
1. 数据库三范式每一列都只有一个值。每一行都能区分(因为主键)每一个表都不包含其他表已经包含的非主关键字信息2. 数据库优化相关的经验使用PrepareStatement一般来说比Statement性能高。一个SQL语句的执行设计步骤:语法检查,语义分析,编译,缓存。有外键约束的话会影响插入和删除性能子查询比关联查询效率高sql语句里表名和列名全部大写3. 游标的作用...
2020-03-31 09:14:31
132
原创 Java面试整理——算法与编程
1. 有一个字符串,其中包含中文字符、英文字符和数字字符,请统计和打印出各个字符的个数。String content = "张逢杰zfj小朱xz330329“;HashMap map = new HashMap();for(int i=0;i<cotent.length;i++){ char c = content.charAt(i); Integer num = map.get(...
2020-03-30 19:43:43
177
原创 Java面试整理——Java基础部分
1.一个".java"源文件中是否可以包括多个类(不是内部类)?有什么限制可以有多个类。但是只能有一个public的类,并且public的类名必须和文件名一致。2. &和&&的区别&和&&都可以用作逻辑与的运算符。&&还具有短路的功能,即如果第一个表达式为false,则不再计算第二个表达式。&还可以作位运算符。...
2020-03-25 20:16:31
114
原创 Java多线程——synchronized和ReentrantLock的区别
两者的共同点都是用来协调多线程对共享对象、变量的访问都是可重入锁,同一线程可以多次获得同一个锁都保证了可见性和互斥性两者的不同点ReentrantLock显式的获得、释放锁,synchronized隐式获得释放锁ReentrantLock 可响应中断、可轮回,synchronized 是不可以响应中断的,为处理锁的 不可用性提供了更高的灵活性ReentrantLock是API级...
2020-03-25 19:36:07
181
原创 Java算法——快速排序算法
快速排序的原理:选择一个关键值作为基准值。比基准值小的都在左边序列(一般是无序的), 比基准值大的都在右边(一般是无序的)。一般选择序列的第一个元素。一次循环:从后往前比较,用基准值和最后一个值比较,如果比基准值小的交换位置,如果没有 继续比较下一个,直到找到第一个比基准值小的值才交换。找到这个值之后,又从前往后开始比较,如果有比基准值大的,交换位置,如果没有继续比较下一个,直到找到第一个比基准...
2020-03-25 19:25:08
135
原创 Java算法——插入排序算法
通过构建有序序列,对于未排序数据,在已排序序列中从后向前扫描,找到相应的位置并插入。 插入排序非常类似于整扑克牌。在开始摸牌时,左手是空的,牌面朝下放在桌上。接着,一次从 桌上摸起一张牌,并将它插入到左手一把牌中的正确位置上。为了找到这张牌的正确位置,要将 它与手中已有的牌从右到左地进行比较。无论什么时候,左手中的牌都是排好序的。如果输入数组已经是排好序的话,插入排序出现最佳情况,其运行时间是输...
2020-03-25 17:09:37
114
2
原创 Java算法——冒泡排序算法
(1)比较前后相邻的二个数据,如果前面数据大于后面的数据,就将这二个数据交换。(2)这样对数组的第0个数据到N-1个数据进行一次遍历后,最大的一个数据就“沉”到数组第 N-1个位置。(3)N=N-1,如果N不为 0就重复前面二步,否则排序完成public static void bubbleSort(int []a , int n ){ int i, j; for(i=0;i<n;...
2020-03-25 16:42:36
143
原创 Java算法——二分查找及代码实现
又叫折半查找,要求待查找的序列有序。每次取中间位置的值与待查关键字比较,如果中间位置 的值比待查关键字大,则在前半部分循环这个查找的过程,如果中间位置的值比待查关键字小, 则在后半部分循环这个查找的过程。直到查找到了为止,否则序列中没有待查的关键字。public static int biSearch(int []array,int a){ int lo=0; int hi=array.le...
2020-03-25 16:31:35
485
原创 数据结构
1 栈(stack)栈(stack)是限制插入和删除只能在一个位置上进行的表,该位置是表的末端,叫做栈顶(top)。它是后进先出(LIFO)的。对栈的基本操作只有push(进栈)和pop(出栈)两种,前者相当于插入,后者相当于删除最后的元素。队列(queue)队列是一种特殊的线性表,特殊之处在于他只允许在表的前端(front)进行删除操作,而在表的后端进行插入(rear)操作,和栈一样,队...
2020-03-25 10:28:13
134
原创 数据库——事务,存储过程 (更新)
事务(TRANSACTION)是作为单个逻辑单元执行的一系列操作,这些操作作为一个整体一起向系统提交,要么都执行,要么都不执行。事务是一个不可分割的工作逻辑单元事务必须具备以下四个属性,简称ACID属性:原子性(Atomicity)事务是一个完整的操作。事务的各步骤是不可分的(原子的);要么都执行,要么都不执行。一致性(Consistency)当事务完成时,数据必须处于一致状态。...
2020-03-24 13:26:32
463
原创 Java多线程——线程基本方法
线程相关的基本方法有wait,notify,notifyAll,sleep,join,yield等。1. 线程等待(wait)调用该方法的线程进入WAITING状态,只有等待另外线程的通知或被中断才会返回,需要注意的是调用wait()方法后,会释放对象的锁。因此,wait方法一般用在同步方法或同步代码块种。2. 线程睡眠(sleep)sleep导致当前线程休眠,与wait方法不同的是sl...
2020-03-24 10:50:53
120
原创 JVM——JVM类加载机制
1JVM类加载机制分为五个部分:加载,验证,准备,解析,初始化,下面我们分别来看一下这五个过程。1.1 加载加载时类加载过程中的一个阶段,这个阶段会在内存中生成一个代表这个类 的java.lang.Class对象,作为方法区这个类的各种数据的入口。注意这里不一定非要从一个Class文件获取,这里既可以从ZIP包中读取(比如从jar包和war包中读取),也可以在运行时计算生成(动态代理),也...
2020-03-23 19:55:25
183
原创 Java集合
1、接口继承关系和实现集合类存放于Java.util包中,主要有3种:set(集)、list(列表包含Queue)和map(映射)。Collection:Cokkectin是集合List、Set、Queue的最基本的接口。Iterator:迭代器,可以通过迭代器遍历集合种的数据。Map:是映射表的基础接口2、ListJava的List是非常常用的数据类型。List是有序的Col...
2020-03-23 18:42:03
139
原创 分布式Dubbo+Zookeeper+springBoot
RPCDubbo官方文档服务提供者(Provider): 暴露服务的服务提供方,服务提供者在启动时,向注册中心注册自己提供的服务。服务消费者(Consumer): 调用远程服务的服务消费方,服务消费者在启动时,想注册中心订阅自己所需的服务,服务消费者,从提供者地址列表中,基于软负载均衡算法,选一台提供者进行调用,如果调用失败,再选另一台调用。注册中心(Registry):注册中...
2020-03-23 11:07:39
162
原创 Java集合——练习笔记及源码概述
框架集合的概述 * 一、集合框架的概述 * * 1.集合、数组都是对多个数据进行存储操作的结构,简称Java容器。 * 说明:此时的存储,主要是指内存层面的存储,不涉及到持久化(.txt,.jpg,.avi,数据库) * * 2.1数组在存储多个数据方面的特点: * 》一旦初始化以后,其长度就确定了。 * 》一旦定义好,其元素的类型也就确定好,我们也就只能操...
2020-03-22 14:18:52
135
原创 Java多线程-练习题详解与笔记(创建与锁),死锁问题,线程通信问题
遍历100以内的所有偶数——继承Thread类的方法/** * 多线程的创建, 方式一:继承Thread类 * 1,创建一个继承与Thread类的子类 * 2,重写Thread类的run()方法 -->将此线程执行的操作声明在run方法中 * 3,创建Thread类的子类对象 * 4,通过此对象调用start方法 * * 例子:遍历100以内的所有偶数 * *...
2020-03-21 10:07:20
397
原创 Java多线程并发(1)——创建方式与生命周期
线程的实现/创建方式1.继承Thread类Thread类本质上是实现了Runnable接口的一个实例,代表一个线程的实例。启动线程的唯一方 法就是通过Thread类的start()实例方法。start()方法是一个native方法,它将启动一个新线 程,并执行run()方法。public class MyThread extends Thread { public void run...
2020-03-20 19:29:42
108
原创 JAVA基础——Java异常分类处理
1.概念如果某个方法不能按照正常的途径完成任务,就可以通过另一种路径退出方法。在这种情况下 会抛出一个封装了错误信息的对象。此时,这个方法会立刻退出同时不返回任何值。另外,调用 这个方法的其他代码也无法继续执行,异常处理机制会将代码执行交给异常处理器2.异常分类Throwable是 Java 语言中所有错误或异常的超类。下一层分为Error和ExceptionErrorError类...
2020-03-20 15:28:37
96
原创 Redis 笔记(2)String、List -数据类型
简介Redis数据就是以key-value形式来存储的,key只能是字符串类型,value可以是以下五种类型:String、List、 Set、SortedSets、HashString类型1.简介:字符串类型是Redis中为基础的数据存储类型,它在Redis中是二进制安全的,这便意味着该类型可以接受任 何格式的数据,如JPEG图像数据或Json对象描述信息等。在Redis中字符串类型...
2020-03-20 15:05:57
146
原创 Redis 笔记(1)简介与安装
一、Redis简介关于NoSQLNoSQL的全称是Not only SQL,在过去的几年中,NoSQL数据库一度成为高并发、海量数据存储解决方案的代名词,与之相应的产品也呈现出雨后春笋般的生机。然而在众多产品中能够脱颖而出的却屈指可数,如Redis、MongoDB、BerkeleyDB和memcached等内存数据库。由于每种产品所拥有的特征不同,因此它们的应用场景也存在着一定的差异...
2020-03-19 14:20:40
134
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人