- 博客(29)
- 收藏
- 关注
原创 全栈开发(TS,React,Vue, Java, 移动端flutter)接单
前端:NextJS React VueJS 后端:NestJS Java 移动端:Flutter 其他:SpringCloud Redis Kafka Zookeeper。之前在一家大型国企工作,参与公司的商城、药房和慢病管理平台的前后端开发。微信号:couthz。
2024-02-23 16:04:19
593
1
原创 【Java并发编程】线程安全-CAS原理
其中loc代表该内存位置,expectedV代表该内存位置内部的期望值。CAS操作会将当前内存位置的值与期望值比较,如果匹配,那么处理器会自动将该内存位置的值更新为新值newValue,并返回 true;如果不相匹配, 处理器不做任何操作,并返回 false。使用CAS实现从语义上理解:执行这段临界区代码的时候(),乐观地认为不会有其他线程修改变量。,或者说相当于给地址loc加锁,只不过加的是乐观锁。
2023-03-16 11:10:38
525
翻译 【翻译】不要再比较Cookies和JWT
我们实际上应该问的问题是:基于令牌(token)身份验证和基于会话(session)身份验证之间的区别是什么?
2023-03-01 13:35:18
289
原创 【Java并发编程】线程安全(一)Synchronized原理
Synchronized关键字的执行主体是线程对象,加锁是通过一个锁对象来完成的是,而锁对象底层关联了一个c++源码的monitor的对象,monitor对象底层又对应了操作系统级别的互斥锁,同一时刻只有一个线程能够持有这把锁
2023-02-22 18:07:35
403
原创 【Java集合类】HashMap(二)- 设计要点
本章将开始探讨JDK中的HashMap,包括HashMap如何避免和解决上一章所说的散列冲突问题,以及Java 8对HashMap的改进。
2023-02-22 17:48:55
333
原创 【Java集合类】HashMap(一)- 散列表基础知识
也叫),是根据键(Key)直接访问内存储存位置的数据结构。一般而言,散列表通过一个散列函数将待查找的元素映射为数组下标(散列值,hash值),将元素存储在下标位置,查询时同样用这个散列函数得到下标,这样理论上定位元素的时间复杂度可以到O(1)
2023-02-21 19:14:41
610
原创 【Java集合类】LinkedList
LinkedList底层的实现是一个双向链表,每个节点包含了前驱和后继节点的引用。并且,LinkedList包含指向链表头部和尾部的引用first和last。
2023-02-19 18:49:43
570
原创 【Java集合类】ArrayList
ArrayList 是 Java 中的一个类,它实现了 List 接口,可以动态地添加和删除元素,以及访问列表中的元素。ArrayList 是一个动态数组,其内部是由一个数组来存储元素。当 ArrayList 中的元素超过了数组大小时,ArrayList 会自动扩容数组,以容纳更多的元素。
2023-02-19 10:47:25
1202
原创 【Java基础】泛型(二)-泛型的难点:通配符
本文将尝试将通配符和泛型中的继承,多态一并讲解。其实,理解通配符的一个要点就是:通配符就是在泛型中实现多态的一种方式
2023-02-17 22:58:57
613
原创 【Java基础】泛型(一)-基础使用
本文以Java的官方文档为参考,辅以代码示例,尽可能详尽的叙述泛型的每一个特性泛型(Generics)也称为参数化类型(parameterized types),也就是将类型本身作为接口、类、方法中的参数,相应地声明泛型接口、泛型类、泛型方法,在具体调用时再传入类型参数。从而实现同一种接口、类、方法适用于不同的类型。
2023-02-16 15:11:08
520
原创 【电商开发手册】订单-下单
所谓下单,本质上就是买卖双方通过确认一系列信息并且签订电子合同的过程在电商平台的下单过程中,也需要确定买卖双方的一系列信息
2023-02-13 16:02:43
865
原创 【电商开发手册】购物车设计
大型电商的购物车除了包含暂存商品的基础功能外,一定会通过辅助用户完成比价、以及购物车营销策略,最终提高用户的结算转化率。
2023-02-12 13:42:24
193
原创 Mybatis源码分析(03)-配置文件解析-mappers标签四种配置方式的处理
文章目录mappers标签四种配置方式源码分析mappers标签四种配置方式上一篇中提到XMLConfigBuilder.mapperElement()方法,该方法用于对核心配置文件中<mappers>标签的解析,先回顾一下<mappers>标签中,对于mapper接口或映射文件的几种引入方式:<!-- 方式1:使用包名引入,通过name属性指定mapper接口...
2020-04-23 14:01:42
362
原创 Mybatis源码分析(02)-配置文件解析概述
文章目录使用Mybatis操作数据库SqlSessionFactoryBuilderBaseBuilderXMLConfigBuilder使用Mybatis操作数据库使用Mybatis操作数据库的基本写法如下: @Test public void testMybatis(){ //1.加载配置文件 InputStream resourceAsStre...
2020-04-21 14:32:51
176
原创 Mybatis源码分析(01)-JDBC操作回顾,Mybatis整体架构概览
一 JDBC的规范操作及问题回顾假设数据库test中有一张表account直接使用JDBC,dao层的实现类可能会是如下的写法:public class AccountDaoImpl implements AccountDao { //问题1:数据库配置信息,存在硬编码问题,修改信息就要重新编译 private String driver = "com.mysql.jdbc....
2020-04-20 15:22:20
195
原创 @RequestParam(required = true)的误区
先说结论:required = true是在前端没有传参数的时候报错,并不能防止参数为空。考虑一下代码:@GetMapping("/userInfo") public void userInfo(@RequestParam(required = true) Integer id) { ... }如果请求如下就会报400错误:http://localh...
2020-03-28 10:05:53
24680
原创 Android 10+使用blueadapter搜索不到蓝牙设备的原因
一 问题描述在测试公司项目代码时,测试机能够在设置中与蓝牙设备进行配对,但测试的app中使用`blueadapter.startDiscovery()搜索不到设备,测试机的系统版本为Android10.0。二 解决查看Android官方文档关于蓝牙的部分:https://developer.android.com/guide/topics/connectivity/bluetooth官方文...
2020-03-17 15:14:09
7465
1
原创 mybatis generatorConfig.xml文件中,相对路径无效的问题
在学习github上的代码时,接触到mybatis generator的使用。在运行generator进行自动生成时,出现以下错误:generatorConfig.xml中,有多个targetPackage属性的值都是相对路径,而这些相对路径无效。查阅资料后发现,使用Idea需要在当前工作目录下指定相对路径。在“Run”->“Edit Configurations"中可以查看并修改工作...
2020-02-05 12:55:45
1174
原创 Python自学指南---基础篇(七)深拷贝与浅拷贝
关键知识点:深、浅拷贝讲到这里需要提到python中一个重要的知识点,就是深、浅拷贝。深、浅拷贝的问题一般涉及的都是容器对象。首先说浅拷贝,所谓的浅拷贝就是:1、创建一个与原来类型相同的新对象。2、其中的内容是原来对象元素的引用。其中第2点就体现了浅拷贝中的“浅”,换一种说法就是,新容器内部装的对象就是原容器内部的对象。实现浅拷贝的方法有三种:完全切片操作[:]list(), tupl...
2018-11-21 21:45:53
221
原创 Python自学指南---基础篇(六)数据类型-序列
在上一章中提到,Python中提到的“序列”,通常指的是三种数据类型:string(字符串)、list(列表)、tuple(元组)。在本章依旧先对每种类型做一个基本的了解,再介绍一些操作符和函数。本章所介绍的是针对三种类型的一些共性操作,各个类型的独特特性将再之后的章节中涉及。6.1 序列对象Python中序列对象的特点是由一组有序的元素排列而成,并且可以通过下标偏移量访问到任意一个元素。...
2018-11-21 20:47:12
399
原创 Python自学指南---基础篇(五)数据类型-Number
前一节中,我们对Python中的对象有了一个基本的了解。从本节开始,我们将分别了解不同类型的对象,并且对不同对象的特点,特别是对象有关的函数进行介绍。本节将会介绍数字类型,也就是Number类型,在Python中是一种不可变类型。5.1 整数Python能够处理任意大小的整数,例如0,-1,9989080等等除了用一般的十进制表示,也可以用二进制(0x)、八进制(0b)、十六进制表示(0o...
2018-10-31 16:33:15
312
原创 Python自学指南---基础篇(四)对象基础
4.1 Python对象特性三个特性可以把引用和对象的关系,理解为标签和盒子的关系4.2 可变与不可变对象
2018-10-28 09:47:34
175
原创 Python自学指南---基础篇(三)标识符
3. 标识符标识符是电脑语言中允许作为名字的有效字符串集合—《Python核心编程》在编写程序时,我们需要为不同的变量,函数取相应的名字,以便于重复地使用它们,这个名字被称为标识符。每当为变量取名的时候,应当牢记以下两个原则:不是所有字符串集合都可以作为标识符,合法的标识符有一定的规则。有一部分字符串集合已经被占用,因此取名的时候应当避开。3.1 合法的标识符Python标...
2018-10-15 23:59:36
455
1
原创 Python自学指南---基础篇(二)变量赋值
2.1 赋值运算符(=),引用传递我们可以直接将一个固定的数值、字符串、算术表达式、、甚至函数赋值给一个变量,也可讲一个变量赋值给另一个变量。anInt = 1aStr = 'abc'aFloat = 4 * 5 * 6aList = [1, 'who', 3.14]这里需要提到一个非常基础且重要的知识点,在Python中,所有的变量都可以理解是内存中一个对象的“引用”,变量的赋值是...
2018-10-14 20:25:54
932
原创 Python自学指南---基础篇(一)一些基本语法规则
基础篇的前三节将介绍python中的语法规则:一些基本语法规则变量赋值标识符在学习Python的过程中,这些基础的语法规则时时刻刻都会运用,一定要牢记于心。1. 一些基本语法规则注释( # )继续( \ )缩进同一行写多个语句( ; )1.1 注释注释在任何一种语言中的都十分重要,尤其在团队合作时,简洁明了的注释是帮助他人理解代码的关键。单行注释井号(#)是单...
2018-10-13 14:02:50
531
2
翻译 特征选择-(一)特征选择简介
翻译内容主要来自https://machinelearningmastery.com/an-introduction-to-feature-selection/在构建预测模型时应该选择哪些特征??这或许是一个需要对相关领域知识有深入了解才能够解决的问题。 不过,也有一些自动化的方法能够选择出与问题最为相关的特征,这就是特征选择。 在阅读了本文之后,你将了解到不同特征选择方法,我们也为你提供...
2018-04-16 20:18:21
1655
原创 文本特征:特征提取(一)
本文的内容主要来自于Quora上的一个问题,这里简单的做一下总结,感兴趣的可查看原帖:https://www.quora.com/What-is-the-best-feature-selection-method-on-text-mining为了使用机器学习方法处理文本数据,需要找到适合的文本表示形式,对于传统机器学习方法而言,常用的一种表示方法是将文档转换为文档-词项矩阵(document ...
2018-04-16 15:37:23
5625
1
原创 c++指针(1)-规避野指针
一,指针的危险 c++ primer plus中提到:c++中创建指针时,计算机将分配用来存储地址的内存,但不会分配用来存储指针所指向数据的内存。
2015-04-20 10:42:17
542
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人