[Java笔记6] String和ArrayList

目录StringString类创建对象的两种方式和区别字符串内容比较(equlas方法)String常用API​ArrayList创建集合对象、添加元素ArrayList泛型使用ArrayList常用方法视频教程传送门 ->https://www.bilibili.com/video/BV1Cv411372m?p=77Stringjava.lang.String 类代表字符串String的对象在创建后不能被更改String变量每次的修改其实都是产生并.
分类: 其他 发布时间: 11-22 09:29 阅读次数: 0

[Java练习] 学生查询系统

定义一个Student类package com.test.arraylist;public class Student { private String studyId; private String name; private String collegeName; public Student() { } public Student(String studyId, String name, String collegeName) {
分类: 其他 发布时间: 11-22 09:29 阅读次数: 0

leetcode 1238. Circular Permutation in Binary Representation(python)

leetcode 1238. Circular Permutation in Binary Representation(python)第一种方法通过位运算解题,第二种方法模仿题意写代码
分类: 服务端 发布时间: 11-22 09:29 阅读次数: 0

[Java笔记7] 面向对象2(静态关键字static)

static修饰成员变量static修饰成员变量表示该成员变量只在内存中只存储一份,可以被共享访问、修改。例如在线人数、观看人数这类变量适合定义为静态成员变量静态成员变量和实例成员变量成员变量类别 特点 访问方式 使用场景 静态成员变量 有static修饰,属于类、加载一次,可以被共享访问 类名.静态成员变量 (推荐) 对象.静态成员变量 表示在线人数等需要被共享的信息 实例成员变量 无static修饰,属于对象 对象....
分类: 其他 发布时间: 11-22 09:29 阅读次数: 0

如何备份恢复ORACLE_HOME?

「这是我参与11月更文挑战的第25天,活动详情查看:2021最后一次更文挑战」 一、前言 通常在安装补丁集或者补丁之前,强烈建议备份 oracle_home 和 oraInventory 目录。 可以
分类: 服务端 发布时间: 11-22 09:29 阅读次数: 0

咱们从头到尾说一次优雅关闭

优雅关闭(Graceful Shutdown/Graceful Exit),到底有多重要,怎么才能算优雅?
分类: 服务端 发布时间: 11-22 09:29 阅读次数: 0

[Java笔记8] 面向对象3(继承)

目录继承的特点继承后:成员变量、成员方法的访问特点方法重写子类构造器的特点子类构造器访问父类有参构造器this、super的使用视频教程传送门 ->https://www.bilibili.com/video/BV1Cv411372m?p=100继承就是Java允许用extends关键字,让一个类和另一个类建立起一种父子关系。好处:提高代码复用性,减少代码冗余,增强类的功能扩展性。eg:public class Student extends People .
分类: 其他 发布时间: 11-22 09:28 阅读次数: 0

网络数据传输流程

TCP协议(传输控制协议)是一种面向链接的、可靠的基于字节流的传输通信协议,在网络编程中是不能不了解的重要角色。下面将简单介绍一下在TCP编程中需要知道的知识,然后再上最重要的:代码。一、网络数据传输流程假设主机A向主机B发送一个"Hello World"字符串。这个字符串将经过以下几个阶段由主机A辗转到达主机B。1.在主机A上的操作—封装(1)主机A将"Hello World"发送到应用...
分类: 其他 发布时间: 11-22 09:28 阅读次数: 0

网络编程---Linux环境下TCP服务器与客户端代码仿写

在对TCP服务器与客户端的工作原理进行剖析后,又进一步了解了网络编程需要的函数等,为了更深的熟悉TCP数据交互流程,于是在Linux环境下对其代码进行仿写。在编写程序前对其涉及到的一些知识进行一个了解。然后再贴代码。一、字节序与地址结构1.字节序分为主机字节序和网络字节序,由于主机字节序有大端和小端两种模式,不同的主机使用的模式不一定相同;而网络字节序是大端模式,所以在传输中需要将主机字节序转...
分类: 其他 发布时间: 11-22 09:28 阅读次数: 0

关于C语言变量

对很多初学者来说,C语言的变量很多时候也只是使用,而不知道他们的范围,毕竟C语言中给出了多个变量的类型,并不是像现实生活中只区分为整数、小数等简单的集合,下来就简要的说一下C语言中的变量类型以及其所涉及的一些小问题。一、变量类型C语言中提供了字符型、整型浮点型等基本的数据类型,下面以表格的形式介绍各个变量变量类型占用字节数bool一字节(但只占一个bit)char...
分类: 其他 发布时间: 11-22 09:28 阅读次数: 0

C/C++程序编译链接原理(1)

一段代码在我们点击编译器上的执行后形成可执行文件,此时的可执行文件是存放在磁盘上的,在可执行文件执行时则会加载到内存上运行,而可执行文件也并非直接加载到内存,而是通过虚拟地址空间的映射而执行加载操作,在X86体系、32位linux环境下程序的虚拟地址空间大小为2^32字节(即4GB),我们基于这个情况来进行分析。...
分类: 其他 发布时间: 11-22 09:27 阅读次数: 0

C/C++程序编译链接原理(2)----从汇编指令了解程序的运行过程

首先给出下面一段代码,本篇我将通过这部分代码的汇编指令来说明一段代码时怎样运行的。#include<iostream>using namespace std;int sum(int a, int b){ int temp = 0; temp = a + b; return temp;}int main(){ int a = 10; int b = 20;...
分类: 其他 发布时间: 11-22 09:27 阅读次数: 0

NGINX内存池C代码移植项目

nginx是一个高性能的HTTP和反向代理web服务器,是由伊戈尔·塞索耶夫为俄罗斯网站开发的,是一个开源的软件,底层由C语言编写完成,但经过提炼后,是可以将其按照面向对象的思想重新组织一下的,也相当于一个小项目吧。涉及思路是将源文件中的几个主要函数实现成为类的成员方法,成员变量则只设置一个内存池对象即可。因为nginx内存池的结构比较复杂,涉及很多网络相关的东西,我们在本地编译器上对这些变量做...
分类: 其他 发布时间: 11-22 09:27 阅读次数: 0

关于预编译指令

在看源码时经常会遇到很多“#”后面跟着的指令,而且在写代码的时候也会使用“#”来引入头文件,见的挺多的但是不知道“#”代表的的是什么含义,尤其是看源码时,“#”更是多的让人头疼,所以查了一下关于C/C++的预编译指令,自己总结了一下,后续的博客也会使用到这一部分的内容。一、#include这就是我们最常使用的形式了,用于引入头文件,不过也有两种用法,也啰嗦的说一下吧#include<c...
分类: 其他 发布时间: 11-22 09:27 阅读次数: 0

从操作系统角度了解进程虚拟地址空间

在看《程序员自我修养》的第一章时,较为详细的解释了为什么要使用进程虚拟地址空间这一方法,关于进程的虚拟地址空间可以查看我的这个博客:进程的虚拟地址空间,而书中也关联了一些操作系统的知识,随手一记。一、简单内存分配策略早期的计算机中程序是直接运行在物理内存上的,直接访问物理地址,例如:有两个进程,A程序需要占用10MB内存,B程序需要占用100MB的内存,而我们的内存是128MB,看起来貌似是没...
分类: 其他 发布时间: 11-22 09:26 阅读次数: 0

C/C++程序编译链接原理(3)----从编译器角度

一段代码在编译器上是如何生成可执行文件的呢,从编译器角度看,生成可执行文件需要经过的阶段有四个:预编译、编译、汇编、链接,在这四个过程中所做的工作各不相同,在gcc和g++编译器下我们也可以逐步执行来看下每个阶段的生成文件。下来以两段代码共同链接生成可执行文件的过程来详细说明://main.cpp//引用sum.cpp文件里定义的全局变量以及函数#define max 20extern ...
分类: 其他 发布时间: 11-22 09:26 阅读次数: 0

掌握C和C++的区别

在学习C++之前,一般都会学习C语言作为基础,但这两类语言除了设计理念不同以外(C语言面向过程,C++面向对象),在语法上也是有些不同的。一、形参带默认值的函数在C语言中,函数的形参是不能带默认值的,而在C++中,我们经常可以看到函数中带着默认值,一般在类的构造函数中就会给定一些默认值。但在给定参数默认值的时候有以下限制:1.默认值需要从右往左给,语法规定不能跳跃传实参。2.当对函数参数给...
分类: 其他 发布时间: 11-22 09:26 阅读次数: 0

gdb调试工具基础

在windows平台下我们有IDE可以调试代码,而在Linux平台下我们则使用gdb工具来调试代码,相对于windows平台的调试工具当然是比较繁琐,要使用各种命令去实现我们的调试,但作为一个开发平台,Linux平台下的调试我们是必须要掌握的,在此做一个小的总结。...
分类: 其他 发布时间: 11-22 09:26 阅读次数: 0

Makefile基础简介

我们做一个项目会写很多文件,Windows平台上我们有IDE去执行所有操作,而在Linux平台上去做一个项目的话他的文件可能不在同一位置,此时使用gdb就不会那么方便了,所以我们需要添加一个Makefile文件,来执行文件的自动编译,Makefile文件带来的好处就是“自动化编译”,所以本篇博客简要介绍Makefile文件如何编写,并使用Makefile文件来提高软件开发效率。一、代码文件同样...
分类: 其他 发布时间: 11-22 09:25 阅读次数: 0

C++类对象背后调用的方法

我们都知道类的设计是C++的基本思想,面向对象设计的重点就是如何将一个实体抽象成一个类,并定义它的成员方法来实现它的各种行为,定义它的成员变量来描述它的各种属性,这些都是C++最基础的东西,不再赘述,这篇博客主要是来说明C++的一个类应该具有的最基础的成员方法,也是最通用的方法。...
分类: 其他 发布时间: 11-22 09:25 阅读次数: 0