- 博客(36)
- 收藏
- 关注
原创 mysql8版本在load千万条数据时报ERROR 3948 (42000): Loading local data is disabled
解决在Linux系统下MySQL8版本无法导入千万条数据的问题
2022-09-17 03:25:05
1643
原创 《Java编程思想》第七章:复用类
第七章 复用类组合语法 到目前为止,我们已经多次使用组合技术。只需将对象引用置于新类中即可。例如,假设你需要某个对象,它要具有多个 String对象、几个基本类型数据,以及另一个类的对象。对于非基本类型的对象,必须将其引用置于新的类中,但可以直接定义基本类型数据:/** * @author Tangwenbo * @version JDK 1.8 * @date 2021/8/10 17:14 */class WaterSource{ private String s; W
2021-08-15 15:16:04
340
原创 《Java编程思想》:第四章 控制执行流程
第四章 控制执行流程true和false 所有条件语句都利用条件表达式的真或假来决定执行路径。但是注意Java不允许将一个数字作为布尔值使用。if-else if-else语句是控制程序流程的最基本形式。作为if-else的一个例子,下面这个test()方法可以告诉您,您猜的数是大于、小于还是等于目标数:import static net.mindview.util.Print.print;/** * @author Tangwenbo * @version JDK 1.8 * @d
2021-08-07 17:21:56
242
原创 《Java编程思想》第三章:操作符
第三章 操作符更简单的打印语句在后面的知识会介绍静态导入(static import),这个在Java SE5中新增加的概念。话不多说,直接上代码import java.util.Date;import static net.mindview.util.Print.*; // 静态导入:需要下载引入mindview的jar包/** * @author Tangwenbo * @version JDK 1.8 * @date 2021/7/14 17:29 */public class
2021-08-07 17:17:50
255
原创 《Java编程思想》第二章:用引用操作对象
一切都是对象尽管Java是基于C++的,但是相比较之下,Java是一种更“纯粹”的面向对象程序设计语言。用引用操作对象每种编程语言都有属于自己的操作内存中元素的方式,例如C/C++是利用指针来操作对象,而Java是利用引用来操作对象的。String str = new String("123");其中的str表示为引用,我们可以将引用和数据的关系理解为遥控器和电视的关系,我们可以通过遥控器对电视进行各种操作,同样的,在这里我们可以通过str对内存中的数据进行操作。要注意的是,引用和被引用的对象是
2021-08-07 17:16:45
411
原创 《Java编程思想》第一章:对象导论
对象导论抽象过程面向对象程序设计方式的特性:万物皆为对象程序是对象的集合,它们通过发送消息来告知彼此所要做的每个对象都有自己的由其他对象所构成的存储每个对象都拥有类型某一特定类型的所有对象都可以接收同样的消息 对象具有状态、行为和标识。这意味着每一个对象都可以拥有内部数据(它们给出了该对象的状态)和方法(它们产生行为),并且每一个对象都可以唯一地与其他对象区分开来,具体说来,就是每一个对象在内存中都有一个唯一的地址。每个对象都有一个接口 所有的对象都是唯一的,具有相同的特性和行为
2021-08-07 17:10:09
412
原创 《Java编程思想》:第六章 访问权限控制
第六章 访问权限控制包:库单元 我们之所以要导入包名,就是要提供一个管理名字空间的机制。所有类成员的名称都是彼此隔离开的。A类中的方法f()与B类中具有相同特征标记(参数列表)的方法f()不会彼此冲突。 当编写一个Java源代码文件时,此文件通常被称为编译单元(有时也被称为转译单元)。每个编译单元都必须有一个后缀名 . java,而在编译单元内则可以有一个 public类,该类的名称必须与文件的名称相同(包括大小写,但不包括文件的后缀名.java)。每个编译单元只能有一个public类,否则编译器
2021-08-07 16:57:07
380
原创 《Java编程思想第五章》:初始化与内存
第五章 初始化与清理 初始化和清理( cleanup)正是涉及安全的两个问题。许多C程序的错误都源于程序员忘记初始化变量。特别是在使用程序库时,如果用户不知道如何初始化库的构件(或者是用户必须进行初始化的其他东西),更是如此。清理也是一个特殊问题,当使用完一个元素时,它对你也就不会有什么影响了,所以很容易把它忘记。这样一来,这个元素占用的资源就会一直得不到释放,结果是资源(尤其是内存)用尽。 Java中采用了构造器的概念,并额外提供了“垃圾回收器”对于不再使用的内存资源,垃圾回收器能自动将其释放。
2021-08-01 17:20:29
398
原创 网站是如何进行访问的
网站是如何进行访问的在浏览器中输入一个域名(如:www.baidu.com),然后回车进行访问。系统会检查本机的:C:\Windows\System32\drivers\etc\hosts 配置文件下有没有这个域名的映射,会出现以下两种情况:如果找得到,则直接访问对应的ip地址,在这个地址中,有我们需要访问的web程序,可以进行直接访问:如:127.0.0.1 www.tangwb.com如果在本机中找不到域名映射,就回去DNS服务器上找,DNS服务器存储了全世界的域名,如果找到的会
2021-07-25 16:05:08
1454
1
原创 吸血鬼数字
这两天在看《Java编程思想》这本书,遇到一个有意思的题目,题目如下:练习10:(5)吸血鬼数字是指位数为偶数的数字,可以由一对数字相乘而得到,而这对数字各包含乘积的一半位数的数字,其中从最初的数字中选取的数字可以任意排序。以两个0结尾的数字是不允许的,例如,下列数字都是“吸血鬼”数字:1260=21*601827=21*872187=27*81 写一个程序,找出4位数的所有吸血鬼数字( Dan Forhan推荐)。看了书上的答案,我发现有点难以接受,可能是这道题目是在前面的章节,为了照顾刚
2021-07-22 15:36:48
167
原创 剑指 offer 10-I.斐波那契数列
剑指 offer 10-I.斐波那契数列题目描述写一个函数,输入 n ,求斐波那契(Fibonacci)数列的第 n 项。斐波那契数列的定义如下:F(0) = 0, F(1) = 1F(N) = F(N - 1) + F(N - 2), 其中 N > 1.斐波那契数列由 0 和 1 开始,之后的斐波那契数就是由之前的两数相加而得出。答案需要取模 1e9+7(1000000007),如计算初始结果为:1000000008,请返回 1。示例1:输入:n = 2输出:1示例2:
2021-04-05 14:29:10
69
原创 LeetCode283.移动零(简单)
283.移动零(简单)题目描述给定一个数组 nums,编写一个函数将所有 0 移动到数组的末尾,同时保持非零元素的相对顺序。示例:输入: [0,1,0,3,12]输出: [1,3,12,0,0]说明:必须在原数组上操作,不能拷贝额外的数组。尽量减少操作次数。思路:设定一个临时变量k=0,遍历数组nums,将非零元素移动到nums[k]位置,同时k++,而后将【k,….nums.length-1】中的元素置零。// 原地(in place)解决该问题// 时间复杂度: O(n)
2021-04-05 14:27:25
94
原创 LeetCode160. 相交链表(简单)
160. 相交链表(简单)题目描述编写一个程序,找到两个单链表相交的起始节点。如下面的两个链表:在节点 c1 开始相交。注意:如果两个链表没有交点,返回 null。在返回结果后,两个链表仍须保持原有的结构。可假定整个链表结构中没有循环。程序尽量满足 O(n) 时间复杂度,且仅用 O(1) 内存。题目解析为了方便理解,假设链表 A 的节点数为 a,链表 B 的节点数为 b,两链表的公共尾部节点数为 c ,第一个公共节点为 c1。让指针 PA 和 pB 分别指向链表 A 和链表
2021-04-05 14:26:48
125
原创 LeetCode4.寻找两个正序数组的中位数(困难)
寻找两个正序数组的中位数(困难)题目描述:给定两个大小分别为 m 和 n 的正序(从小到大)数组 nums1 和 nums2。请你找出并返回这两个正序数组的 中位数 。进阶问题暂未考虑。示例1:输入:nums1 = [1,3], nums2 = [2]输出:2.00000解释:合并数组 = [1,2,3] ,中位数 2示例 2:输入:nums1 = [1,2], nums2 = [3,4]输出:2.50000解释:合并数组 = [1,2,3,4] ,中位数 (2 + 3) / 2 =
2021-04-05 14:25:14
70
原创 LeetCode3.无重复字符的最长子串(难度:中等)
无重复字符的最长子串(难度:中等)**题目描述:**给定一个字符串,请你找出其中不含有重复字符的 最长子串 的长度。示例1:输入: s = "abcabcbb"输出: 3 解释: 因为无重复字符的最长子串是 "abc",所以其长度为 3。示例2:输入: s = "bbbbb"输出: 1解释: 因为无重复字符的最长子串是 "b",所以其长度为 1。示例3:输入: s = "pwwkew"输出: 3解释: 因为无重复字符的最长子串是 "wke",所以其长度为 3。&nb
2021-04-05 14:23:49
231
1
原创 LeetCode2.两数相加(难度:中等)
两数相加(难度:中等)**题目描述:**给你两个 非空 的链表,表示两个非负的整数。它们每位数字都是按照 逆序 的方式存储的,并且每个节点只能存储 一位 数字。请你将两个数相加,并以相同形式返回一个表示和的链表。你可以假设除了数字 0 之外,这两个数都不会以 0 开头。示例1:输入:l1 = [2,4,3], l2 = [5,6,4]输出:[7,0,8]解释:342 + 465 = 807.示例2:输入:l1 = [0], l2 = [0]输出:[0]示例3:输入:l1 = [
2021-04-05 14:23:06
196
1
原创 LeetCode1.两数之和(难度:简单)
两数之和(难度:简单)**题目描述:**给定一个整数数组 nums 和一个整数目标值 target,请你在该数组中找出 和为目标值 的那 两个 整数,并返回它们的数组下标。你可以假设每种输入只会对应一个答案。但是,数组中同一个元素在答案里不能重复出现。你可以按任意顺序返回答案。示例1:输入:nums = [2,7,11,15], target = 9输出:[0,1]解释:因为 nums[0] + nums[1] == 9 ,返回 [0, 1] 示例2:输入:nums = [3,2,4],
2021-04-05 14:21:34
83
原创 Collections基本方法使用
Collections基本方法使用使用的方法包括:sort、二分查找、copy复制、reverse反转、shuffle打乱等,还有一些使用的注意事项都写在注释里了/** * Collection常用方法介绍 * * @author twb * @// TODO: 2021/3/28 * @version 1.8 */public class Demo3 { public static void main(String[] args) { List<Intege
2021-03-28 18:24:35
184
原创 Java集合HashMap的使用
Java集合HashMap的使用特点jdk1.2版本,线程不安全,运行效率快;允许使用null值作为key或者value。存储结构HashMap的存储结构为:数组+链表+红黑树(jdk1.8之后),添加红黑树的目的是为了提高效率。基本使用/** * HashMap的使用 * 存储结构:数组+链表+红黑树(jdk1.8之后) * *@author :twb *@version :1.8 * @// TODO: 2021/3/28 */import java.util.HashM
2021-03-28 18:23:35
84
原创 Java集合中的TreeMap使用
Java集合中的TreeMap使用存储结构TreeMap的存储结构和TreeSet都是基于红黑树来实现,通过看源码我们可以知道,TreeSet的底层就是使用了TreeMap,其中TreeSet的add方法也是根据TreeMap的key值来进行添加。我们都知道,红黑树是基于二叉排序树来进一步实现的,也就是说在根节点的左边的值都是小于根节点的值,根节点右边的值都是大于根节点的值,如果插入节点的值在树中已经有了,那么就不会进行重复插入,这也进一步体现了TreeSet和TreeMap的元素是不重复的特性。注意
2021-03-28 18:22:40
456
原创 Java集合HashSet基本使用详解
Java集合HashSet基本使用详解HashSet特点因为 HashSet是实现了Set接口的,所以特点和Set差不多,都是无序、无下标、元素不重复。存储结构HashSet的存储结构在jdk1.7之前是基于数组+链表实现的,在jdk1.8之后是基于数组+链表+红黑树来实现的存储过程1、根据hashcode计算保存的位置,如果此位置为空,则直接进行保存,如果不为空则进行第二步2、执行equals方法,如果equals方法为true,则认为是重复,不继续添加,否则进行添加而形成链表这里对上面
2021-03-25 18:06:41
365
原创 Java集合List基本使用详解
Java集合List基本使用详解List实现类ArraryList:数组结构实现,查询快、增删慢;JDK1.2版本,运行效率块、线程不安全Vector:数组结构实现,查询快、增删慢;JDK1.0版本,运行效率慢、线程安全LinkedList:链表结构实现,增删快,查询慢List接口的特点之前在我的有关于collection文章中有写到关于List和Set的图片,上面简单的列举了其各自的接口的特点(如果没看的同学可以点击这里进行查看)特点:有序、有下标、元素可重复
2021-03-22 17:53:57
232
原创 Java集合Collection基本使用详解
Java集合Collection基本使用详解这几天准备找工作,重新过了一遍Java基础,将collection的基本使用总结写一下,主要通过代码的形式给大家讲解,相信通过以下两个基本示例能够对collection基本用法有一定的了解。集合的概念首先我们应该明白什么叫做集合的概念?下面引用官方一点描述:集合是对象的容器,定义了对多个对象进行操作的常用方法。可实现数组的功能。可以简单的将其理解为对象的数组,但是集合却又和数组有不同。集合和数组的区别?(1)数组长度固定,集合长度不固定(2)数
2021-03-22 16:37:49
434
原创 Java中的几种内部类
Java中的几种内部类成员内部类静态内部类匿名内部类局部内部类成员内部类:顾名思义,就是类里面有一个类,例子如下:public class Outer { // 外部类 private int id = 10;//外部类的私有属性 public void out() { System.out.println("外部类方法."); } class Inner{//成员内部类 public void in()
2021-03-21 22:53:04
125
原创 多态
多态即同一方法可以根据发送对象的不同而采用多种不同的方式一个对象的实际类型是确定的,但是可以指向对象的引用类型有很多(父类、有关系的类)注意事项多态是方法的多态,没有属性的多态。关系:父类和子类、有联系的类。存在条件:继承关系,子类需要重写父类方法,父类引用指向子类实例化对象!例如:Father father = new Son();什么样的方法不能被重写?static方法:属于类,不属于对象实例final常量被private修饰的方法把子类转换为父类,向上
2021-03-21 17:36:44
56
原创 重写
重写重写:需要有继承关系,子类重写父类的方法!方法名必须相同参数列表必须相同修饰符:范围可以扩大但是不可以缩小:public>protected>default>private抛出的异常:范围可以被缩小但是不能被扩大:ClassNotFoundException(小)–>Exception(大)重写:子类的方法和父类的必须要一致,但是方法体可以不同为什么需要重写?子类需要的方法功能父类不一定满足。PS:如果子类和父类的方法修饰符都加了static
2021-03-21 16:26:07
76
原创 super和this的区别以及注意事项
super和this的区别区别- 代表的对象不同this:本身调用这个对象super:代表父类对象的应用- 前提不同this:没有继承也能使用super:只有在继承的条件下才能使用- 构造方法不同this():本类的构造super():父类的构造super注意点1. super调用父类的构造方法,必须在构造方法的第一个首先创建一个父类Person和子类Student,并分别添加参数为空的构造方法。//父类Personpublic class Person { publi
2021-03-21 15:54:25
640
原创 Java中的可变参数使用
Java中的可变参数注意1、可变参数,JDK1.5开始支持同类型的可变参数2、在方法声明中,在指定参数类型最后加...3、一个方法只能指定一个可变参数,它必须是方法的最后一个参数。任何普通参数必须在它之前声明使用方法直接看代码:public class Demo2 { public static void main(String[] args) { System.out.println("打印出的最大数为:"+printMax(12.1,1.1,2.5,233.6,5
2021-03-19 17:32:27
152
原创 教你搞定Markdown基本语法~
Markdown学习一级标题(# + 空格)二级标题(### + 空格)三级标题(###+ 空格)四级标题(### + 空格)字体hellowrod 粗体(四个*之间写字体)hellowrod 斜体(两个*之间写字体)hellowrod 斜体加粗(六个个*之间写字体)hellowrod 删除线(四个~之间写字体)引用(> + 空格)学习markdwon 走向人生巅峰分割线(三个- + 空格 或者 *** + 空格)图片(图片地址:可以是本地图片地址也可以是网络图片地址
2021-03-18 13:20:45
109
1
原创 MySQL5.5安装到最后一步卡住的解决办法(即使删除了隐藏文件内C:\ProgramData的MySQL以后还是没解决问题)...
一般出现这种原因的应该是之前安装过然后又卸载了的原因,估计是没删除干净。具体操作参考博客地址:https://blog.csdn.net/hmengy/article/details/81544122
2019-08-03 22:55:00
19
原创 改变,从一个简单的“物体识别”开始
一、百度AI开放平台 前几天在百度的AI平台上看到了很多好玩的API类,像类似于语音识别、人脸识别、文字识别、自然语言处理等等。这些在当前比较热门的技术都有提供给使用者的API。而且~~~,大部分都是免费的喔,前提是大家不要用作商业用途哈,随便玩玩还是可以的,给大家看一看都有些啥,先上一下图像技术的: 大家可以很明显的看到有一些类别在当前还是比较贴近于我们日常生活需要的,像图像审核、...
2019-08-02 17:14:00
44
原创 机器学习——k-近邻算法
工作原理:存在一个样本数据集合(也称为训练样本集),并且样本集中每个数据都存在标签,即我们知道样本集中每一数据与所属分类的对应关系。输入没有标签的新数据以后,将新数据的每个特征与样本集中数据对应的特征进行比较,然后算法提取样本集中特征最相似数据(最近邻)的分类标签。简单来说,k-近邻算法采用测量不同特征值之间的距离方法进行分类。优点:精度高、对异常值不敏感、无数据输入假定缺点:计算复...
2019-07-09 23:24:09
856
原创 数据结构:浅谈数组(代码主要以Java形式展开)
有过代码基础的同学应该都知道:数组是任何一门编程中语最基本的数据结构,可以说数组几乎能表示一切数据结构。其中的重要性不必我多说。每种语言对数组的处理也是有着不同的处理,但是其本质还是对数据的存放,这一点是毋庸置疑的。先说一下数组的简单声明,每一种编程语言对数组的声明也有着细微的区别,在这里我们主要说的是Java。在Java中,数组的声明主要有两种:第一种:数据类型 [] 数组名 = new ...
2019-04-21 15:24:31
414
原创 JAVA学习之路:简单的飞机大战游戏(控制主飞机篇)
首先我们需要明白,在控制一架飞机的时候,需要通过对键盘的监听。上下左右比较简单,因为是对单一按键的监听,在这里我们可以通过switch语句,通过读取键盘上每个按键的ASCII值。但是如果想要实现边飞行边发射子弹,又或者是实现斜飞怎么办?这里就需要通过对多个按键的监听。解决的方法是:单一的方向控制我们还是使用switch语句,但是如果牵扯到2个或2个以上的按键监听,我们需要将按键设置一下标记位。即...
2019-04-19 10:00:14
1041
2
原创 Java学习之路:简单的飞机大战游戏(敌机下落篇)
在实现这个游戏之前,我们首先需要知道项目可能要用到哪些知识点:重绘,线程,双缓冲,数据结构的应用差不多是这大概有这些,如果不够的话我们再加。首先,我们应该实现敌机下落,在这里大概思路和利用线程使小球下落差不多。不同的是,我在这里用到了三种敌机,分别为小、大、BOSS机三种。然后给予这三种敌机不同的下落规则(即速度、出现的时间、是否伴随子弹的发射等等)来给游戏适当的增加点难度。以下是我的大概...
2019-04-18 17:06:28
1510
1
原创 “改变”——从单向链表开始
声明:本篇文章只是笔者个人对链表的理解,其中的有些代码也是参考了其他的博主。如果有理解得不对的地方,希望大家能够指出,共同进步。**单向链表有过数据结构的基础的同学应该都知道,一个链表是由若干个节点组成的,而每一个节点由两部分组成,一部分是自己本身所储存的数据,另一部分则是指向下一个节点的节点对象。这刚听起来有点别扭,因为这就相当于每一个节点都存储另一个节点的对象,这个对象指向的是下一个节点。...
2019-03-29 16:05:03
195
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人