自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(119)
  • 资源 (2)
  • 收藏
  • 关注

原创 面试必考真题

1.输入一个链表,反转链表后,输出新链表的表头。package com.csu.marden;public class Demo1 { public static void main(String[] args) { Node head=new Node(); Node node1=new Node(1); Node node2=new Node(2); Node node3=new Node(3); head.next=node1; node1.next=node2;

2020-09-10 16:17:32 200

原创 算法(1)---八大排序算法

一、选择排序核心思想:从全部序列中选取最小的,与第0个元素交换,然后从第1个元素往后找出最小的,与第一个元素交换。再从第2个元素往后选取最小的,与第二个元素交换,直到最后一个元素。代码://选择排序//核心思想:不断遍历数组的每个位置,并且为每个位置选择当前数组中最小的元素填入。//思路分析:遍历数组的每个位置需要一层for循环,为每个位置遍历选择最小值也需要一层for循环。public static void sort1(int [] arr){ //第一层for循环,遍历数组中的每

2020-07-20 14:42:35 370

原创 网页在线视频下载教程(m3u8格式介绍及下载教程)

简介:m3u8文件是苹果公司使用的HTTP Live Streaming(HLS)协议格式的基础。HLS是新一代流媒体传输协议,其基本实现原理为将一个大的媒体文件进行分片,将该分片文件资源路径记录与m3u8文件(即playlist)内,其中附带一些额外描述(比如该资源的多带宽信息等...)用于提供给客户端。客户端依据该m3u8文件可获取对应的媒体资源,进行播放。因此,客户端获取HLS流文件,主...

2019-07-08 16:06:07 135901 17

原创 C语言(C++)作业

一、指针和内存泄露1. malloc函数malloc的全称是memory allocation,中文叫动态内存分配,用于申请一块连续的指定大小的内存块区域以void*类型返回分配的内存区域地址,当无法知道内存具体位置的时候,想要绑定真正的内存空间,就需要用到动态的分配内存。void* 类型表示未确定类型的指针。C,C++规定,void* 类型可以通过类型转换强制转换为任何其它类型的指针。malloc一般需和free函数配对使用。注意:(1)若申请内存空间较大时,就会申请失败,返回空指针。..

2021-12-05 15:58:41 737

原创 Handler消息传递机制(三)

1. 前言在Android开发中,内存泄露十分常见。本文将详细讲解内存泄露的其中一种情况:在Handler中发生的内存泄露内存泄露的定义:本该被回收的对象不能被回收而停留在堆内存中 内存泄露出现的原因:当一个对象已经不再被使用时,本该被回收但却因为有另外一个正在使用的对象持有它的引用从而导致它不能被回收。这就导致了内存泄漏。2. 问题描述Handler的一般用法 = 新建Handler子类(内部类) 、匿名Handler内部类,具体如下所示。 /** * 方式1:

2021-08-05 22:33:44 272

原创 Handler消息传递机制(二)

1. Handler机制的核心类在源码分析前,先来了解Handler机制中的核心类1.1 类说明Handler机制 中有3个重要的类:处理器 类(Handler) 消息队列 类(MessageQueue) 循环器 类(Looper)1.2 类图1.3 具体介绍2. 源码分析下面的源码分析将根据 Handler的使用步骤进行 Handler使用方式 因发送消息到消息队列的方式不同而不同,共分为2种:使用Handler.sendMessage()、使用Hand

2021-08-05 22:18:33 376

原创 Handler消息传递机制(一)

1. 定义一套Android消息传递机制2. 作用在多线程的应用场景中,将工作线程中需更新UI的操作信息 传递到UI主线程,从而实现 工作线程对UI的更新处理,最终实现异步消息的处理3. 意义问:为什么要用 Handler消息传递机制 答:多个线程并发更新UI的同时 保证线程安全 具体描述如下示意图4. 相关概念关于 Handler 异步通信机制中的相关概念如下:在下面的讲解中,我将直接使用英文名讲解,即 Handler、Message、Messa...

2021-08-05 21:57:24 372

原创 Android详解(二)

一、四大组件之Activity

2021-07-14 11:11:25 311

原创 Android详解(一)

一、第一个Android项目1、创建流程第一步:双击打开Android Stdio,点击create new project创建项目。第二步:在选择项目的界面中,选择”Empty Activity“,创建一个空的Activity。第三步:在项目配置界面,指定项目的名称和项目的包名(Android系统通过包名来区分不同的应用程序,因此包名应具有唯一性)第四步:点击Finish,完成项目的创建,如下图为项目的目录结构。项目结构模式(Android):项目结构...

2021-07-13 21:36:01 237

原创 Spring MVC框架详解(一)

一、三层架构与MVC模型我们的开发架构一般都是基于两种形式,一种是C/S架构,也就是客户端/服务器架构,另一种是B/S架构,也就是浏览器/服务器架构。在JavaEE开发中,几乎都是基于B/S架构的开发。 在B/S架构中,系统标准的三层架构包括:表现层,业务层,持久层。1. 三层架构表现层:(web层)也就是我们常说的web层。它负责接收客户端的请求,向客户端响应结果,通常客户端使用HTTP协议请求web层,web层需要接收HTTP请求,完成HTTP响应。 表现层包括展示层和控制

2021-05-18 21:34:31 2596

原创 full_stack_assignment2

Serverpackage com.csu.marden;import java.io.IOException;import java.net.ServerSocket;import java.net.Socket;public class Server { private static final int PORT=44444; public static void main(String[] args) throws IOException { ServerSocket

2021-05-14 23:01:22 71

原创 MyBatis3框架详解(六)

aaa

2021-05-08 17:54:08 329

原创 MyBatis3框架详解(五)

一、动态SQL背景:使用JDBC或其他类似的框架,需要根据不同的条件拼接SQL语句,例如拼接时要确保不能忘记添加必要的空格,还要注意去掉列表最后一个列名的逗号。而利用动态SQL,可以彻底解决这些问题。说明:动态SQL是mybatis强大的特性之一,极大地简化了拼装SQL的操作 mybatis采用功能强大的基于OGNL的表达式来简化操作。动态SQL元素:if choose(when,otherwise) trim(where,set) foreach二、OGNL.

2021-05-06 17:57:38 1090

原创 MyBatis3框架详解(四)

一、select元素select标签元素是用来定义查询操作的。 id属性:唯一标识符,用来引用这条语句,需要和接口的方法名一致。 parameterType属性:参数类型,可以不传,mybatis会根据TypeHandler自动推断。 resultType属性:返回值类型,使用别名或者全类名,如果返回的是集合,定义集合中元素的类型。不能和resultMap同时使用。示例:使用select查询标签返回List集合数据库表:第一步:在sql映射文件对应的接口中添加方法pa

2021-05-03 22:09:20 454 4

原创 MyBatis3框架详解(三)

一、MyBatis的sql映射文件sql映射文件的作用是指导mybatis如何进行数据库的增删改查。

2021-04-25 18:57:06 197

原创 MyBatis3框架详解(二)

一、MyBatis全局配置文件MyBatis的全局配置文件包含设置(settings)和属性(properties)信息,文档结构如下:二、全局配置文件中,引入dtd约束目的:为了在全局配置文件(mybatis-config.xml)中有代码提示,需要引入dtd约束(dtd文件是用来规定xml中的标签语法规则的)方式一:联网状态下直接下载步骤1:打开mybatis的全局配置文件(mybatis-config.xml),ctrl+鼠标移动到配置文件中的dtd网址,即可在线下载.

2021-04-24 22:26:03 1216

原创 MyBatis3框架详解(一)

一、MyBatis发展历程1.JDBCSQL语句编写在Java代码里面,耦合度高导致硬编码内伤 维护不易且实际开发需求中SQL是有变化的,频繁修改的情况多见2.Hibernate(全自动全映射的ORM框架,旨在消除SQL)长难复杂SQL,对于Hibernate而言处理不容易 内部自动生产的SQL,不容易做特殊优化 基于全映射的全自动框架,大量字段的JavaBean进行部分映射时比较困难,导致数据库性能下降(例如:100个字段的JavaBean对应100列数据库字段,当只查询一个字段的时.

2021-04-23 22:13:00 886 11

原创 full_stack_assignment1

数据库+Javapackage com.csu.marden;import java.sql.Connection;import java.sql.DriverManager;import java.sql.PreparedStatement;import java.sql.ResultSet;import java.sql.SQLException;import java.util.ArrayList;public class JabberServer { public stat

2021-03-12 19:18:13 172

原创 AI笔记(1)

回归与分类回归:在数学表示,数值是一个连续性的,要预测的一个值。回归分析是一种预测性的建模技术,它研究的是因变量和自变量之家的关系,这种技术通常用于预测分析,通过使用直线或曲线来拟合数据点,目标是使曲线到数据点的距离差异最小。分类:离散型的线性回归定义:线性回归是回归分析问题中的一种,线性回归假设自变量和因变量之间线性相关,即满足一个一元或多元一次方程,通过构建损失函数,来求解损失函数的参数。能够用一个直线较为准确地描述数据之间的关系,这样当出现新的数据的时候,就能够预测出一个.

2021-03-07 15:10:24 813

原创 使用quagga/zebra的OSPF实验

报错处理案例:下面是启动zebra的异常,启动ospf的异常也以同样的方式处理!!!注意:将下面的zebra换乘ospf即可(可进入相应文件夹下查看文件具体名称)

2021-01-06 15:44:01 411

原创 IO作业

网络编程:public static void main(String[] args) throws IOException { URL url=new URL("https://www.jd.com"); InputStream inputStream=url.openStream(); BufferedInputStream bi=new BufferedInputStream(inputStream); File file=new File("C:\\Users\\Adminis

2021-01-04 22:47:08 151

原创 作业四

问题1:(dirtycv.txt------>cleancv.txt)package com.csu.marden;import java.io.BufferedReader;import java.io.BufferedWriter;import java.io.IOException;import java.nio.file.Files;import java.nio.file.Path;import java.nio.file.Paths;public class Cle

2021-01-03 13:59:12 188 1

原创 记录

用户名:csu-netlab密码:marden...

2020-12-28 12:39:43 89

原创 使用quagga/zebra的RIP实验

一、实验环境1.网络拓扑:2.实验环境准备:(1)在virtualBox中开启两台pc,分别为PC1和PC2(每台pc包含一张网卡)(2)在virtualBox中开启两台router,分别为R1和R2(每台router包含两张网卡)(3)为pc设置静态IP地址,该实验环境的组网均为内部网络,并且需要为每张网卡设置静态IP地址(以PC1为例,PC2同理)(4)为router设置静态IP地址,该实验环境的组网均为内部网络,并且需要为每张网卡设置静态

2020-12-27 15:50:23 993 1

原创 Ubuntu下安装quagga教程

一、Ubuntu下安装telnet# 安装命令如下:sudo apt-get install openbsd-inetdsudo apt-get install telnetdsudo /etc/init.d/openbsd-inetd restart# 查看 telnet服务是否开启sudo netstat -a | grep telnet# 远程iptelnet ipAddress# 远程ip和端口telnet ipAddres port二、Ubu..

2020-12-25 20:48:55 3449 3

原创 手写ArrayList

手写ArrayListpackage com.csu.marden;import java.util.ArrayList;import javax.management.RuntimeErrorException;/** * 增加remove * @author 高淇 * */public class SxtArrayList05<E> { private Object[] elementData; private int size; privat

2020-12-07 17:49:02 87 1

原创 作业三

21点游戏一、Card类package com.csu.marden;import java.util.ArrayList;public class Card { // public static enum Suit{// CLUBS, HEARTS, DIAMONDS, SPADES// }// public static enum Value{// ACE,TWO,THREE,FOUR,FIVE,SIX,SEVEN,EIGHT,NINE,TEN,JACK,QUEEN,K

2020-12-03 18:19:09 183

原创 作业一

计算器思路;单位数计算器package com.marden.demo3;//单位数表达式public class Calculator { //判断是否为操作符 public static boolean isOper(char value){ return value=='+'||value=='-'||value=='*'||value=='/'; } //判断优先级,优先级使用数字表示,数字越大,则优先级越高 public static...

2020-11-07 14:25:19 148

原创 Java实现动态黑客背景图

代码:import java.awt.*;import java.awt.event.ActionEvent;import java.awt.event.ActionListener;import java.awt.event.KeyAdapter;import java.awt.event.KeyEvent;import java.awt.image.MemoryImageSource;import java.util.Random;import javax.swing.JDialog

2020-10-02 21:39:50 1115

原创 netlab在线助手(基于鼠标移动事件+窗体设计)

随着老板每天查岗的频率越来越高,奈何自己是个十足的夜猫子,早晨的被窝就像一块磁铁牢牢的吸着我,俗话说,懒人也有勤劳的时候,那一定是在想怎么可以偷懒,哈哈哈哈~~~偷偷制作了一款在线助手,再也不用担心早上迟到了,还可以挂时长,美滋滋~废话不多说,直接上图看看效果:附上代码:Window.java:package cn.edu.csu.cse;import ja...

2020-09-28 22:45:29 242

原创 equal和hashcode函数

问题:为什么根据自己的需求,重写equal函数的时候,必须重写hashcode函数?回答:为了保证相等对象必须具有相同的哈希码(哈希值是用来辅助判断对象是否相等,例如要将对象存储在HashSet中,首先要判断对象是否重复,即根据哈希值进行判断,如果哈希值不同,则说明对象不同,直接插入即可,若哈希值相同,再判断对象具体的属性是否相同,若不相同,则判断发生哈希冲突,通过哈希冲突处理再插入)示例:某个学生类,包括学生姓名,学号,性别,家庭住址等信息,在判断学生是否相等时,我们设定如果学生的..

2020-09-14 10:43:21 185

原创 设计模式-----原型模式

一、基本理解原型模式:在软件系统中,有些对象的创建过程较为复杂,而且有时候需要频繁创建,原型模式通过给出一个原型对象来指明所要创建的对象的类型,然后用复制这个原型对象的方法创建出更多同类型的对象,这就是原型模式。理解:原型模式是通过给出一个原型对象来指明所创建的对象的类型,然后使用自身实现的克隆接口来复制这个原型对象,该模式就是用这种方式来创建出更多同类型的对象。使用这种方式创建新的对象,就无需通过new关键字来实例化对象。这是因为Object类的clone方法是一个本地方法,它可以直接操作内存

2020-09-13 17:08:39 191

原创 螺旋打印二维数组(字节三面)

给定一个包含mxn个元素的矩阵(m行,n列),请按照顺时针螺旋顺序,返回矩阵中的所有元素。输入:[ [ 1, 2, 3 ], [ 4, 5, 6 ], [ 7, 8, 9 ]]输出: [1,2,3,6,9,8,7,4,5]package com.csu.marden;import java.util.ArrayList;import java.util.List;public class Demo2 { public static void main(St...

2020-09-11 17:49:40 824

原创 Java中Error和Exception

一、联系Error和Exception都继承自父类Throwable二、区别Error(错误):是程序无法处理的错误,表示运行应用程序中较严重问题。Error类描述了Java运行时系统内部错误和资源耗尽错误,一般指与JVM或动态加载等相关的问题,如虚拟机错误,动态链接失败,系统崩溃等。 这类错误是我们无法控制的,同时也是非常罕见的错误。所以在编程中,不去处理这类错误。如VirtualMachineError,其子类有OutOfMemoryError,StackOverflowError。.

2020-09-09 10:05:06 420

原创 阿里面经(一面)

一面:1.自我介绍2.介绍项目情况3.Java内存泄漏(我举例了三种情况,第一种是引用计数法下,对象a和对象b形成引用环;第二种是连接资源未关闭,如jdbc,网络io连接等,第三种是通过饥饿式创建static对象,但未使用)4.Java中String类是否可以被继承(我回答不能,因为被final关键字修饰。反问:被final关键字修饰的类一定不能被继承吗)5.Java中的序列化(我回答方便存储,对象存储的时候涉及到序列化和反序列化)6.Java中的error和exception7

2020-09-08 17:27:57 165

原创 IO模型

一、基本概念同步:使用同步IO时,Java自己处理IO读写。(同步就是发起一个调用后,被调用者未处理完请求之前,调用不返回) 异步:使用异步IO时,Java会将IO读写委托给OS处理,需要将数据缓冲区地址和大小传给OS,OS需要支持异步IO操作API。(异步就是发起一个调用后,立即得到被调用者的回应表示已接收到请求,但是被调用者并没有返回结果,此时,我们可以处理其他请求,被调用者通常依靠事件,回调等机制来通知调用者其返回结果) 阻塞:使用阻塞IO时,Java调用会一直阻塞到读写完成才返回。(阻塞就是

2020-09-05 17:17:54 126

原创 设计模式-----工厂模式

一、工厂模式简介工厂模式分为简单工厂模式,工厂方法模式和抽象工厂模式,它们都属于设计模式中的创建型模式。其主要功能都是帮助我们把对象的实例化部分抽取了出来,目的是降低系统中代码耦合度,并且增强了系统的扩展性。二、简单工厂模式简单工厂模式:定义了一个创建对象的类,由这个类来封装实例化对象的行为(代码)。简单工厂模式最大的优点在于实现对象的创建和对象的使用分离,将对象的创建交给专门的工厂类负责,但是其最大的缺点在于工厂类不够灵活,增加新的具体产品需要修改工厂类的判断逻辑代码,而且产品较多时.

2020-09-04 14:41:58 75

原创 Java中锁机制

一、CAS操作(无锁,自旋锁的本质)CAS(Compare and Swap):比较和交换,又叫自旋(自选就是空转等待,一直等到她接纳你为止),自旋锁,无锁(无重量锁),是一种实现并发算法常用到的技术。即:CAS需要有3个操作数,内存地址V,旧的预期值A,即将要更新的目标值B。CAS在指令执行时,当且仅当内存地址V的值与预期值A相等时,将内存地址V的值修改为B,否则就什么都不做,整个比较并替换的操作是一个原子操作。ABA问题:通俗理解:一个线程把数据A变为了B,然后又重新变成了A。此时另

2020-09-02 18:38:50 161

原创 设计模式-----单例模式

一、单例模式简介所谓类的单例设计模式,就是采取一定的方法保证在整个的软件系统中,对某个类只能存在一个对象实例, 并且该类只提供一个取得其对象实例的方法(静态方法)。比如 Hibernate 的 SessionFactory,它充当数据存储源的代理,并负责创建 Session 对象。SessionFactory 并不是轻量级的,一般情况下,一个项目通常只需要一个 SessionFactory 就够,这是就会使用到单例模式。二、单例模式分类分类:饿汉式:饥饿式的创建。在使用前就创建该实.

2020-09-02 17:27:54 96

原创 Java中静态代码块,非静态代码块,构造函数的执行顺序

静态代码块:是用来初始化类的信息,在类被加载的时候就会被执行,且只执行一次。执行优先级高于非静态的初始化块。非静态代码块:是用来初始化类的实例信息,在创建对象的时候就会被执行,且每创建一个对象都会被执行一次。执行的时候如果有静态初始化块,先执行静态初始化块再执行非静态初始化块,非静态初始化块会在构造函数执行时,在构造函数主体代码执行之前被运行。构造方法:是用来创建对象的。执行顺序:静态代码块>非静态代码块>构造方法即:程序在执行时,首先执行静态代码块,且只执行一次。接下来再创建对

2020-09-01 09:25:32 2317 2

netlab_assistant.jar

随着老板每天查岗的频率越来越高,奈何自己是个十足的夜猫子,早晨的被窝就像一块磁铁牢牢的吸着我,俗话说,懒人也有勤劳的时候,那一定是在想怎么可以偷懒,哈哈哈哈~~~偷偷制作了一款在线助手,再也不用担心早上迟到了,还可以挂时长,美滋滋~

2019-11-08

新手cloudsim必读资料

新手必读cloudsim论文资料,详细描述cloudsim组织结果,各个类的含义以及cloudsim中虚拟机分配策略,虚拟机选择策略等等。新手入门不可多得的资料

2018-10-11

空空如也

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

TA关注的人

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