自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(22)
  • 资源 (4)
  • 收藏
  • 关注

原创 手机号验证工具

JAVA 正则表达式 手机号 校验package com.swellfun.herowx.util.phone;import java.util.regex.Matcher;import java.util.regex.Pattern;import java.util.regex.PatternSyntaxException;/** * @author xxlsansui * @date Created in 2021/8/29 16:54 * @description AddDescr

2021-08-30 10:25:26 5069

原创 2、二进制中 1的个数-剑指offer

2、二进制中 1的个数题目描述:输入一个整数,输出该数 32位二进制表示中 1的个数,其中负数用补码表示。解析:如果一个整数不为0,那么这个整数至少有一位是1。如果我们把这个整数减1,那么原来处在整数最右边的1就会变为0,原来在1后面的所有的0都会变成1(如果最右边的1后面还有0的话)。其余所有位将不会受到影响。举个例子:一个二进制数1100,从右边数起第三位是处于最右边的一个1。减去1后,第三位变成0,它后面的两位0变成了1,而前面的1保持不变,因此得到的结果是1011.我们发现减1的结果是把

2020-11-07 20:07:23 264 1

原创 1、调整数组顺序使奇数位于偶数前面-剑指offer

1、调整数组顺序使奇数位于偶数前面题目描述输入一个整数数组,实现一个函数来调整该数组中数字的顺序,使得所有的奇数位于数组的前半部分,所有的偶数位于数组的后半部分,并保证奇数和奇数,偶数和偶数之间的相对位置不变。public class Solution { public void reOrderArray(int [] array) { int len = array.length; if (len <= 1) { return;

2020-11-07 20:06:11 175

原创 读写锁+阻塞队列的4组API+SynchronousQueue同步队列

9、读写锁/** 独占锁(写锁) 一次只能被一个线程占有* 共享锁(读锁) 多个线程可以同时占有* 读--读 可以共存* 读--写 不能共存* 写--写 不能共存* */public class ReadWriteLockDemo { public static void main(String[] args) { MyCacheLock myCacheLock=new MyCacheLock(); //写入操作 for (

2020-11-07 20:03:16 235

原创 JUC常用的辅助类 CountDownLatch,CyclicBarrier和Semaphore

8、常用的辅助类8.1 CountDownLatch//减法计数器public class CountDownLatchDemo { public static void main(String[] args) throws InterruptedException { //总数是6 CountDownLatch countDownLatch=new CountDownLatch(6); for (int i = 1; i <=6; i++

2020-11-07 19:59:24 182

原创 数据库事务,实现原理面试题01

1、数据库事务有哪些特性事务:是数据库操作的最小单元,把多件事情当做一件事情来处理,是一组不可分割的操作集合。作为单个逻辑工作单元执行一系列操作,这些操作作为一个整体一起向系统提交,要么执行,要不都不执行。特性ACID:原子性、一致性、隔离性、持久性原子性:是指事务包含的所有操作要么全部成功,要么全部失败回滚。一致性:指事务必须使数据库从一个一致性状态转换到另一个一致性状态,前后状态必须一致。隔离性:指数据库开启一个事务,此事务不能被其他事务干扰,多个事务之间相互隔离。持久性:指事务一

2020-11-07 19:56:34 249

原创 线程池:3大方法、7大参数、4种拒绝策略

线程池线程池:3大方法、7大参数、4种拒绝策略池化技术程序的运行,本质:占用系统的资源 !优化资源的使用 !=>池化技术。线程池、连接池、内存池、对象池 …//创建、销毁。十分浪费资源池化技术:事先准备好一些资源,有人要用,就来我这里拿,用完还给我线程池的好处1、降低资源的消耗2、提高响应的速度3、方便管理线程复用、可以控制最大并发数、管理线程11.1、线程池: 3大方法先看一下阿里巴巴开发手册规范:/** * 线程池的 3大方法 * 不用 new Thread((

2020-11-03 20:37:35 198

原创 变量a是一个64位有符号的整数,初始值用16进制表示为:0x7FFFFFFFFFFFFFFF;变量b是一个64位有符号的整数,初始值用16进制表示为:0x8000000000000000;则a+b的结

变量a是一个64位有符号的整数,初始值用16进制表示为:0x7FFFFFFFFFFFFFFF;变量b是一个64位有符号的整数,初始值用16进制表示为:0x8000000000000000;则a+b的结果用10进制表示为多少?答案是: -1 ;解析1、a+b的16进制表示为0xFFFF FFFF FFFF FFFF ;(16位F),转为二进制为64个12、有符号数:是针对二进制来讲得。用最高位作为符号位,0 代表 + ;1 代表 - ;所以a+b的结果是负数;3、计算机中负数是以补码的形式保存的

2020-10-22 21:45:40 2641

原创 Git远程仓库的基础使用

Git远程仓库(使用github)举个例子,现在是甲乙合作开发一个项目,1、甲上传代码给远程仓库2、乙将远程仓库的代码拷贝下来3、乙修改了代码,或者执行了其他操作,就需要将修改的提交上去4、甲将乙修改后的拉取下来,如果甲修改了,也需要提交,这样两者一直执行下去开始操作1、登录github(没有就注册一个账号)2、new repository3、甲方 将本地文件推送到仓库里面这个步骤需要输入用户名和密码。查看一下仓库,里面已经有文件了,说明成功了4、乙方获取仓库创建一个新文件夹,然

2020-09-19 13:57:42 141

原创 Git分支--超基础

Git分支使用分支意味着你可以从开发主线上分离开来,不影响主线的同时继续工作。初始的时候使用git branch命令,会看到当前有且仅有一个master分支//创建一个新的分支是git branch a01//然后查看一下分支,分支前面的 “ * ”代表当前是哪个分支,如果需要切换分支,可以使用下面的命令git checkput a01//修改分支名称git branch -m a01 b01//删除一个分支git branch -d a01//创建一个新分支并切换到该分支上

2020-09-19 11:23:45 536

原创 git的快速入门

Git、SVN、GithubGit是目前世界上最先进的分布式版本控制系统,在处理各种项目时都十分高效,而且非常的高大上。Git是分布式版本控制系统,它就没有中央服务器的,每个人的电脑就是一个完整的版本库,这样,工作的时候就不需要联网了,因为版本都是在自己的电脑上SVN是集中式版本控制系统,版本库是集中放在中央服务器的,而干活的时候,用的都是自己的电脑,所以首先要从中央服务器哪里得到最新的版本,然后干活,干完后,需要把自己做完的活推送到中央服务器。而且集中式版本控制系统是必须联网才能工作。gitHub

2020-09-19 01:44:06 158

原创 MyBatis 代码生成器(generator)详细搭建步骤

一、什么是MyBatis 代码生成器?MyBatis Generator(简称为:MyBatis 代码生成器) 是MyBatis 官方出品的一款,用来自动生成MyBatis的 mapper、xml、entity 的框架,让程序员在开发的过程中省去很多重复的工作。操作非常简单,只要在配置文件中,配置好要生成的表名和包名,然后运行命令,就能自动生成mapper、xml、entity 等一堆文件。官网地址:http://www.mybatis.org/generator/大家需要源码的话,可以在我的

2020-09-13 15:15:27 1382

转载 更改系统用户中文文件夹名称为英文后eclipse无法正常启动解决方法--!MESSAGE Could not find extension: reference:file:org.eclipse.os

更改系统用户文件夹名称后eclipse无法正常启动解决方法详情看这个博客,很有帮助,(转载的)https://blog.youkuaiyun.com/weixin_43996123/article/details/89846636

2020-09-07 22:07:47 1030

原创 初识Redis(001)

为什么Redis会出现一般网站发生过崩溃问题,让我最深刻的是12306(一个一直在崩溃中的神奇网站),出现这种问题基本上有几个基本现象,1、海量用户2、高并发罪魁祸首—>关系型数据库1、性能瓶颈:磁盘IO性能低下2、扩展瓶颈:数据关系复杂,扩展性差,不便于大规模集群解决思路1、降低磁盘IO次数,越低越好 -------->内存存储2、去除数据间关系,越简单越好 -------->不存储关系,仅存储数据这样的解决思路就要用到一个新东西,NosqlNoSQL :

2020-09-05 16:58:08 2225

原创 Java面试中Int和Integer的区别(day004)

Int和Integer的区别1、Integer是Int的包装类,int是8种基本数据之一。2、Integer变量必须实例化后才能使用,而Int变量不需要实例化。3、Integer是对象的引用,当new时,生成的是一个指针指向该对象;int是直接存储数据。4、int默认值是0,Integer默认是null。直接来代码示例public class TestCsdn002 { public static void main(String[] args) { Integer a

2020-08-31 21:30:45 177

原创 Spring的IOC和依赖注入(day003)

先说说什么是耦合关系上面的齿轮之间的啮合关系,与软件系统中对象之间的耦合关系非常相似。对象之间的耦合关系是无法避免的,也是必要的,这是协同工作的基础。控制反转(IOC)如何降低系统之间、模块之间和对象之间的耦合度,是软件工程永远追求的目标之一,所以为了优化这个问题,软件专家Michael Mattson提出了IOC概念,用来实现对象之间的“解耦”,现在这个理论被运用得很广泛,很多J2EE项目均采用了IOC框架产品Spring。概念IOC是Inversion of Control的缩写—>控制

2020-08-31 15:42:49 196

原创 对于双亲委派模型的理解(day002)

类加载器从java虚拟机的角度来说1、启动类加载器(BootStrap ClassLoader),这个类加载器是用C++语言实现的,也是虚拟机的一部分2、所有其他的类加载器,这些加载器都是能被Java语言实现,独立于虚拟机外部,继承java.lang.ClassLoader.从开发者角度1、启动类加载器:加载<JAVA_HOME>\lib目录下的核心库到内存中(rt.jar)。这个是本地代码实现的类装入器,引导类加载器涉及到虚拟机本地实现的细节,开发者无法直接获取到启动类加载器的引用

2020-08-29 21:21:21 194

原创 什么是线程安全(day001)

线程安全通俗的说,多线程访问同一代码,不会产生不确定的结果。(比如一个方法或者实例在多线程环境中被使用,不会出现问题)导致线程出现问题的原因在一个多线程环境下,各个线程的运行本身不会导致问题,但是当多个线程访问了相同的资源,进而对其进行了修改操作,让这个资源变得不可确定,就会出现线程安全问题。例如:线程A和线程B同时发生,交错执行i=0;线程A:读取i到寄存器线程B:读取i到寄存器线程B:将值+1;线程B:回写寄存器值到内存,现在i=1;线程A:将值+2;线程A:回写寄存器值到内存,现

2020-08-27 15:01:49 200

原创 NAT网络地址转换

NATNAT是一种将私有地址转换成公有地址的技术,它实现了私有网络中主机通过共享少量公有地址访问InternetIP地址日益短缺,网络规模扩大,内网用户增加在享受NAT带来的好处同时,也带来了相应的限制1、影响网络速度。NAT的应用可能会使NAT设备成为网络的瓶颈2、跟某些应用不兼容。如果一些应用在有效载荷中协商下次会话的IP地址和端口号,NAT将无法对内嵌IP地址进行地址转换,造成这些应用不能正常运行3、地址转换不能处理IP报头加密的报文。4、无法实现对IP端对端的路径跟踪。经过NAT地址转

2020-06-27 00:33:22 719

原创 谈谈对java多态的理解

什么是多态我对于多态的理解比较简单:就是对象具有多种形态。父类引用指向子类,在执行过程中判断实际类型,调用不同的方法。多态有什么作用呢?为了消除类型之间的耦合关系多态例子比如animal,这是动物的统称,现在有dog,cat他们也属于动物,所以他们与animal之间是继承关系,他们可以直接使用父类的方法,也可以重写。比如animal可以吃东西,睡觉。dog、cat也是要吃东西睡觉,为了让...

2020-04-20 20:10:56 285

原创 Android下SQLite数据库借助SQLiteOpenHelper操作

文章将要实现的功能开发一个app,在app中用SQLiteDatabase类创建sqlite数据库StudentSystem,创建数据表Course,数据字段如下:字段名数据类型描述idinteger主键,自动增长course_novarchar课程编号course_namevarchar课程名称creditinteger课程学分r...

2020-04-18 13:15:39 1073 6

原创 Android下Socket简单通信+Python服务器

Android下的socket网络编写+Python服务器这是第一次接触到android相关知识,也是第一篇原创文章,就写一个简单的,为什么要来写这个呢?起初都是用一些小字条记录一些感受一些重要的的语句,我平时的编程呢,遇到错误都是来网上找相关的资料,学习新的东西也是去网上看各位大佬的观点,受益匪浅吧。话不多说,打个样下面就是介绍一下这个文章要实现的功能吧。1、编写一个编写一个活动页面,要...

2020-04-17 11:00:08 2195 4

mybatis-generator001.zip

Mybatis代码生成器,用来自动生成MyBatis的 mapper、xml、entity 的框架, 让程序员在开发的过程中省去很多重复的工作。 操作非常简单,只要在配置文件中,配置好要生成的表名和包名,然后运行命令,就能自动生成mapper、xml、entity 等一堆文件。

2020-09-13

Android下简易音乐播放器本地MusicPlayer+MusicServic服务.zip

适合初学者,简单的音乐播放功能,显示一个音乐列表,用户可以点击播放歌曲,有播放/暂停/继续功能,有一个进度条显示音乐播放进度,用户可以拖拉改变音乐进度,可以显示歌曲当前进度时间和歌曲总时间,支持后台播放

2020-04-18

android下客户端与python服务端通信.zip

这是一个简单的模拟android通信,这也是第一篇博客描述的项目,他实现了用python脚本充当服务端,android下写客户端,tcp模式连接,通过socket连接到服务端,实现简单的信息传递

2020-04-18

Android下SQLite操作.zip

适合Android初学者,开发一个课程信息项目,实现增加操作和模糊查询操作,运用ListView和Adapter

2020-04-18

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除