自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(45)
  • 资源 (1)
  • 收藏
  • 关注

原创 Swift Alamofire简单使用

一:SPM导入依赖https://github.com/Alamofire/Alamofire二:GET请求func getRequest(){ let url = "http://www.baidu.com" Alamofire.AF.request(url).responseJSON { (response) in switch response.result { case .success(let json): print

2020-12-30 21:12:35 2368

原创 Xcode12 设置允许http连接

1:选择info.plist文件2:进行如图所示的操作先在顶层点击“+”号创建名为App Transport Security Settings的选项(Dictionary类型数据)再点击创建的App Trans...(上面创建的选项)的前面的三角号(点击前三角号方向向下,点击后三角号方向向下)键入Allow Arbitary Loads的选项(Boolean类型)将其值改为YES即可。...

2020-12-30 20:19:09 2033

原创 Swift 使用SwiftyJSON解析JSON数据

前言:在iOS里面解析json数据某种程度上并没有Android上面使用JOSN方便。但第三方开源框架诸如SwiftyJSON的到来,尤其是配合Swift5等以上版本,对应用程序而言数据安全性方面有很大的提升。SPM导入依赖:https://github.com/SwiftyJSON/SwiftyJSON使用步骤:首先先模拟一下JSON数据的获取,这里直接定义。然后把json数据转换成Data。接着就使用SwiftyJSON直接把数据解析。需要说明的是,如果没有把解析放在if里面那么解析的数

2020-12-28 19:48:24 2478

原创 Swift BinarySearch 二分法查找数据

代码:public func binarySearch<T: Comparable>(_ a: [T], key: T, range: Range<Int>) -> Int? { if range.lowerBound >= range.upperBound { return nil } else { let midIndex = range.lowerBound + (range.upperBound - range.l

2020-12-27 21:52:29 150

原创 @Query nested exception is org.hibernate.exception.GenericJDBCException: could not extract ResultSet

异常:org.hibernate.exception.JDBCConnectionException: could not extract ResultSet org.hibernate.exception.internal.SQLStateConversionDelegate.convert(SQLStateConversionDelegate.java:132) org.hibernate.exception.internal.StandardSQLExceptionConverter

2020-12-27 21:44:56 1910

原创 RecyclerView更新数据方法 notifyItemChanged()、notifyItemInsert()、notifyIteRemoved()等

前言:初学者在学习RecyclerView这个控件后,会不自觉地使用setAdapter()来更新数据。在初学或教学过程中该方式或许没有问题。然而在实际开发或较高更新性能状态下该方式是不可取的,可能会造成OOM或No Adapter/Skip Layout等问题。与Java中线程资源更新方式类型,RecyclerView数据的更新同样使用notify()家族进行更新。本文将快速帮助初学者使用正确方式进行更新数据源。一:notifyItemChanged()该方法使用类是适配器,作用是更新某个item子

2020-12-24 22:03:39 5846

原创 一分钟RecyclerView转场动画实现(淡入/出、旋转、缩放等)

前言:RecyclerView作为Android中最重要的一个系统组件,在用户界面展示时就势必要展示其最好的一面(美观、健壮、优化)。本文将通过设置Animation来快速地达到设置各种炫酷的动画效果。一:基本配置首先先创建一个RecyclerView示例项目。其工程结构如图所示:Bean.java,BeanAdapter.java,MainActivity.java这三个文件分别代表RecyclerView子项的实体Bean,RecyclerView适配器,主活动。其代码如下:Bean.jav

2020-12-24 16:08:27 6275

原创 SpringBoot 快速创建 “实体-持久-业务-控制层”示例项目

前言:许多初学者在配置相关环境后便相快速搭建“实体-持久-业务-控制层”示例项目。但由于经验不足可能在某些地方埋下隐患而导致搭建失败。本文将一些容易出错的地方标注,并附上相关依赖和配置清单,来帮助初学者快速入手。本文环境如下:Java 1.8MySQL 8.0IDEA 2019Maven 3.6.3Java编码:项目工程结构如下图所示。分为controller-entity-reponsitory-service-service.impl这几个层次。其中controller是存放控制类的

2020-12-23 20:23:02 650 3

原创 SpringBoot 2.0 一分钟快速创建SpringBoot项目 IDEA 2019

本文旨在为初学者快速创建一个SpringBoot示例项目。相关环境如下:Java 1.8MySQL 8.0IDEA 2019Maven 3.6.3以上四个环境都应该在其版本之上或者就是该版本。否则可能创建失败(要求Java至少1.8,MySQL至少8.0)。操作正文如下:一:选择新建项目如图所示,选择File -> New -> Project,并单击进入下一页面二:通过Spring Initializr选项初始化如图所示,左边选择Spring Initializr选项,

2020-12-23 19:31:43 279

原创 SpringBoot 导出项目为jar包可执行文件

本文操作步骤要求依赖等设置完毕(完整、无冲突)。一:单击File -> Project Structure二:依次按图中红色圈所标的数字的选项进行单击选择。即Artifacts-> + -> JAR -> From modules with dependencies..三:第一个红色圈内请选择你自己的项目(这里演示的是PreNewsServerSecond);第二个红色圈内是选择应用程序的主程序,一般选择SpringBoot的启动类即可(即最外层的一般名为XxxA

2020-12-21 23:09:40 807

原创 Failed to start remote service “com.apple.debugserver“ on device.

今天用真机调试时报出“Failed to start remote service “com.apple.debugserver” on device.”百思不得解。遂关机重启,果然运行成功。猜测可能是真机长时间没关机,一些服务被关闭了。

2020-12-21 17:08:10 6834

原创 Swift 如何使用AVAudioPlayer播放音频

前言:iOS里面导入AVFoundation包进行音频使用管理,调用AVAudioPlayer对象进行音频操作。这里有个小方法,直接粘贴即可使用。调用方法:private func playAudio(forResource: String, ofType: String){ if let bundlePath = Bundle.main.path(forResource: forResource, ofType: ofType) { let url = URL.ini

2020-12-21 15:48:37 4492

原创 MySQL Operand should contain 1 column(s)

MySQL 报Operand should contain 1 column(s).原因: select后面跟括号了例如:select (id,name,passaoword) from user_info;去掉括号即可.select id,name,passaoword from user_info;

2020-12-20 22:36:01 543

原创 SpringBoot JPA @Query Column ‘xx’ was not found 解决

在一次自定义@Query JPA查询时遇到了这样的问题:Column ‘xx’ was not found。原因是select后跟的字段与Bean的属性个数不一致原因。这里提一下非最终解决方法:select后面去掉字段换成*即可。如果想要根本解决问题这里也提一下:建立repository层组件,内容为自定义@Query sql语句,这时select可以后跟查询的字段;建立bean组件,一定要与数据表映射;建立service层,并实现相关业务。最后注入servie即可。...

2020-12-20 22:29:33 975

原创 RecyclerView 子项仅显示一条

问题描述:之前一个小项目里服务端测试完毕后,JSON数据是正常返回并解析的。但客户端这里RecyclerView子项仅显示一条数据。仔细检查后再次确认适配器、JSON都是准确无误的。原因:这里的原因主要分为两类:布局问题。View填充问题。布局问题主要是将子项(item那个)的height设为match_parent。当展示子项在View上面时,Measure过程会计算子项的高度,设为match_parent会直接填充满其父布局。这也就是为何只显示一项的原因。View填充问题平常我们是这样

2020-12-20 22:14:53 614 1

原创 更改标题栏(ActionBar)、状态栏主题颜色

使用Android Studio创建的项目标题栏主题颜色默认为浅绿色(colorPrimary),状态栏为深绿色(colorPrimaryDark),不太美观。如果想要更改该如何操作?更改标题栏颜色:找到位于main/res/values/colors.xml文件,修改<color name="colorPrimary">标签体的值即可。这里修改为浅蓝色,示例:<color name="colorPrimary">#03A9F4</color>更改状态栏颜色:

2020-12-20 21:34:48 2519

原创 常见Android Gradle依赖表(Glide、RecyclerView、OKHttp、Design等)

Glide:implementation 'com.github.bumptech.glide:glide:4.10.0'RecyclerView:implementation ‘androidx.recyclerview:recyclerview:1.0.0’OKHttp:implementation 'com.squareup.okhttp3:okhttp:4.1.1'implementation 'com.squareup.okio:okio:2.2.2'Design:imple

2020-12-19 15:21:58 334 1

原创 SpringBoot Druid连接MySQL 报错:java.sql.SQLNonTransientConnectionException: Cannot load connection class

具体报错如下:java.sql.SQLNonTransientConnectionException: Cannot load connection class because of underlying exception: com.mysql.cj.exceptions.WrongArgumentException: Malformed database URL, failed to parse the connection string near ';characterEncoding=utf-8'

2020-12-16 20:45:53 721

原创 MySQL 基本优化策略

本篇文章仅提及基本思路。有些优化途径是很有效,但对于亟待优化的人员或囊中羞涩的学生无疑是遥不可及的,故这里不在赘述。表优化:VARCHAR大小分配到具体业务需要的控件,不要为可变类型;使用TIMESTAMP而非DATETIME;控制单表字段,尽量为20位以内;对于VARVCHAR类型数据,默认为""而非NULL(无法优化);对于仅以读为主的表,引擎可选为MyISAM,如果表的综合性能要求过高,可选InnoDB。SQL语句优化:谨慎对待“隐式转换”,该现象可导致索引失效;尽量避免“%”

2020-12-14 23:06:23 101 1

原创 MySQL 语句执行流程

本篇文章以MySQL为例浅要分析。主要分为宏观层次体系与语句层次体系。宏观层次体系:MySQL宏观层次可分为Server层与存储引擎层次。Server层:1.连接器:服务器用来确定用户的身份;2.查询缓存:查询后结果的存储位置。8.0以后被取消;3.分析器:判断内容是否符合语法规则;4.优化器:系统自动选择多种策略中的最有策略去执行;5.执行期:判断是否有权限,将最终任务提交到存储引擎。存储引擎层:该层次负责数据的存储与读取。其提供多个引擎供与选择。各种引擎的优缺点可参考这篇文章–M

2020-12-14 22:21:37 97

原创 C# Winform MessageBox的用法 各种类型弹出框

1:仅显示正文文字MessageBox.Show("Test");说明:直接在Show()方法里面传入String类型参数即可。2:仅显示标题及正文文字MessageBox.Show("This is concrete content.", "Title");说明:Show()方法第一个参数为正文文本,第二个参数为标题,均为String类型。3:仅显示标题及正文文字,附带OK和Cancel选项if (MessageBox.Show("Press OK or Cancel.", "Co

2020-12-14 15:47:03 6080

原创 RatingBar快速使用

前言:RatingBar虽然不显眼,但在实际工程开发中确实作为一个能减少业务复杂度的控件(吃过亏)。使用:1.XML属性常用的width,height,id不再赘述,下面看其特有的属性android:numStars:评分最高数目,整数类型;android:rating:默认评分值,浮点类型;android:stepSize:每次增加的数值,浮点类型;android:isIndicator:是否为指示器,布尔类型(选false意味着用户不能改变)。2.监听重写其setOnRating

2020-12-13 22:46:27 252

原创 Bitmap快速入手之具体操作(缩放、旋转、扭转)

前言:Bitmap就是位图,使用像素矩阵来表示图片的一种形式。使用API可以很轻松地对Bitmap文件进行各种封装后数学运算来达到修改的目的。在Android中,常见的类有Bitmap,Matrix及其提供的方法。Bitmap用于存放媒体资源文件,Matrix用于进行矩阵运算。两者综合可以完成很复杂的图片操作。一:Bitmap的创建使用BitmapFactory.decodeResource()来创建使用Bitmap.createBitmap()来创建两者均可创建Bitmap,不同的是,Bit

2020-12-13 17:28:47 2023 2

原创 Swift 如何生成随机数

1.生成Int类型随机数var numberOne: Int = Int(arc4random())print(numberOne)结果:3628967563说明:arc4random()直接返回UInt32类型数据2.生成Double类型随机数var numberFour: Double = drand48()print(numberFour)结果:0.39646477376027534说明:drand48()直接返回0~1内的Double类型数据(如果要生成的数据为0至某

2020-12-13 10:29:14 8250

原创 Swift版 通过概率计算圆周率

代码:class Pi{ public static func caculate() -> Double{ let n = 1000000 var k = 0 for _ in 1..<n { let x: Double = Double(arc4random_uniform(10000)) let y: Double = Double(arc4random_uniform(10000))

2020-12-12 20:34:36 214

原创 使用概率法计算圆周率 Java实现

代码如下:public class Pi { public static double caculate() { int n = 99000000; int k = 0; for(int i = 1; i <= n; i++){ double x = Math.random(); double y = Math.random(); if((x*x + y*y) <= 1){ k++; } } double result = (k*4)/

2020-12-12 15:59:12 362

原创 使用概率法计算圆周率

一:数学原理如图所示,存在一边长为r的正方形,其内存在一半径为r内切圆。则正方形面积为S1,圆的面积为S2设事件A为投掷一点至正方形内,恰落入圆内,则P(A) = (S1 / S2) = (π×r×r/ 4×π×r×r) = (4 / π)若投掷点总数为n,恰落入圆内的点数为k,则P(A) = k / n可得π为4×k / nk的值由计算机模拟,模拟的判定条件为:若随机生成的圆的面积小于1,则k被缓存。二:编程实现java实现swift实现...

2020-12-12 15:55:02 1083

原创 Swift版ViewPager之Tabman 简单使用

前言:Android上的ViewPager/ViewPager2为同级多页面切换带来了很好的体验。iOS系统中并没有提供类似的原生控件,如果要使用UIPagerViewController等进行自定义封装对于初学者而言难度则过高。这里uias提供了开源组件Tabman,其具有易理解、上手快等优点。鉴于网络上并没有几篇文章关于该组件的(也有寥寥几篇,质量实在难以恭维)介绍说明,本文将浅显地介绍其使用步骤。使用步骤:1:导入依赖采用SPM的直接选择File->Swift Packages->

2020-12-09 12:51:12 895

原创 Swift之单例模式

前言:单例特点:单例实例在整个应用程序生命周期期间必须只有一个,例如UIApplication或NSNotification;单例的构造器必须为private;单例实例必须为线程安全的。单例优点:调用单例实例时避免了不必要的开销;简化管理和使用流程。代码:class CaculateRectangleArea{ static let caculateRectangleArea: CaculateRectangleArea = CaculateRectangleArea();

2020-12-08 22:27:03 1057

原创 Java 单列模式的三种常见写法

前言:一:懒汉模式/** * Note: This is a lazy mode for Single Pattern. * @author mcry416 * */public class CaculateRectangleAreaLazy { // In inner to create an instance. private static CaculateRectangleAreaLazy instance = null; // Private constructor. Ca

2020-12-08 12:55:02 186

原创 MySQL 如何修改当前时区

这里仅需两步。首先打开MySQL Command Line Client,输入密码使用如下语句查看当前时区:show VARIABLES like '%time_zone%';这里我的时间已经改好了。没有改好的使用如下语句粘贴到控制台即可:settime_zone = '+8:00';需要说明的是,这里的设置方式每当服务重启或系统重启时会失效。...

2020-12-07 22:20:38 284

原创 SpringBoot Controller 控制层常见注解及含义

@Controller:@RestController:@RequestMapping:@ResponseBody:@:@:@:@:@:@:@:@:@:

2020-12-07 20:06:32 4318

原创 使用MySQL WorkBench 如何导出数据库(包括数据)

1:打开MySQL WorkBench后,选中Server,Data Export2:在红色圈1内选中我们要导出的数据库红色圈2是导出是否包含数据;红色圈3是触发器等导出选项;红色圈4是导出路径,请记住该路径;红色圈5是开始导出3:导出完成打开我们在操作2中提到的导出路径选项,会发现有一个结尾名为.sql的文件,该文件即为我们要使用的数据库导出文件。如要导入,打开该sql文件后选中所有代码执行即可。...

2020-12-07 12:39:37 22629 3

原创 SpringBoot 常见注解及含义

入口类:@SpringBootApplication:@EnableAutoConfiguration:@ComponentScan:@SpringBootConfiguration:测试类:@RunWith:@SpringBootTest:@Test:Repository:@Repository:@NoRepositoryBean:实体类:@Entity:标注该类是一个实体化Bean。@Table:标注该类到数据库中的数据表相对应。@Id:标注主键,作用于某变量

2020-12-07 12:00:41 698

原创 IDEA 新建SpringBoot错误 internal java compiler error / java无效的标记-parameters / UnsupportedClassVersionEr

前言:这里IDEA环境为 2019.3,一开始的JDK为1.7。新建一SpringBoot项目会发生如下可能的错误:右侧Maven依赖栏中有几处报红问题java无效的标记:parametersjava: 无效的标记: -versionjava: 错误: 不支持发行版本 13internal java compiler errorUnsupportedClassVersionError解决方法:右侧Maven依赖栏中有几处报红问题这种情况是因为网络或地址源问题。一般换成阿里云的镜像源即

2020-12-06 10:25:37 525 1

原创 JVM 内存模型浅析

前言:网络上有不少关于JVM内存模型的文章,讲解地很详细,但美中不足的是内容太过于详细以至于想了解JVM内存模型的读者只能望洋兴叹。这里简明扼要地讲解一下JVM内存模型以及各区的特点,以供想要大致了解其原理的读者管中窥豹。有不足之处还请读者见谅。图解:1:模型JVM内存模型是JVM在Runtime(运行时)所管理的内存区域,这也就是内存模型的由来。JVM内存模型根据Runtime的特点会进行分区划分。划分的部分就为如上图所示的形式。2:各区作用方法区:存储已被虚拟机加载的类信息、常量、静态变

2020-12-03 22:41:27 106

原创 Swing 父子窗口之间传值

何为父子这里的父子并不是谁的窗口大谁就是父,谁的窗口小谁就是子,而是一个已存在的窗口是父窗口,由该已存在存在窗口引起新的窗口出现,则新的窗口就是子窗口。可以简单理解为谁先出现谁就是父窗口,谁后出现谁就是子窗口(不太严谨)。父窗口向子窗口传值前提:现存窗口A(父窗口),窗口A有一文本输入框,输入文本并键入回车后打开窗口B并将文本内容传值到窗口B(子窗口),并在窗口B的JLable标签中显示。思路:在窗口B中设一public属性,并在B的构造器里面初始化,这样从窗口A启动窗口B时,只需把窗口B的构造器

2020-12-03 18:02:26 1418

原创 常见JOptionPane用法

showMessageDialog(普通级别,仅显示提示文本和确定按钮)JOptionPane.showMessageDialog(null, "This is Message area.", "This is title",JOptionPane.INFORMATION_MESSAGE);showMessageDialog(警告级别,仅显示提示文本和确定按钮)JOptionPane.showMessageDialog(null, "This is Message area.", "This is

2020-12-03 15:21:19 5784

原创 Swing之JTable根据ResultSet自动填充数据

前言:在Swing中JTable是用来展示数据流的重要控件。在静态数据展示时只需调用其构造方法填入数据即可,但缺点数据不可改变。动态数据的展示可以采用向量(Vector),但过程过于复杂、冗余,对于初学者而言十分不友好,这里有一种方式,无论是ResultSet还是泛型集合均可使用该方式简单快速完成业务需求。举例:// 设置要展示数据的表格头String[] col = { "id", "Name", "Age", "Phone" };// 将表格头放入DefaultTableModel的构造方法

2020-12-03 12:52:42 765 1

原创 Java this关键字在内部类与匿名类的使用注意

this关键字指代的是与this最靠近的类,所以当然包括内部类与匿名类。如果想要在匿名类或者内部类中使用this关键字获得属性或方法该怎么办?在与内部类与匿名类平级的层次写一个自定义getXxx()的方法,内部使用this即可。这里提一下曾经遇到的问题:Swing中在JButton内的监听内直接调用this关键字来获取窗口的属性发现报错,后遂改为自定义内部类implements ActionListener,在此调用this关键字获取窗口的属性,仍报错。仔细检查后发现是this关键字的使用地方不合理导致

2020-12-02 22:41:00 504

ModelGoon java代码自动生成UML图

ModelGoon,Eclipse插件。由 java代码可自动生成UML类图、协作图、顺序图等,操作简单

2020-12-03

空空如也

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

TA关注的人

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