编程
CS_SP....
不断地努力,让自己变得更好。
展开
-
docker问题一:Cannot connect to the Docker daemon at unix:///var/run/docker.sock....
1.什么是deamon在Linux中,deamon应该是常用的,可以理解为是后台服务;它有一些特征,比如后台运行,不能直接在终端控制,用户退出登陆后也不会停止等等;它是一个看护进程,也就是启动以后不断判断它所监控的进程是否在正常运行,如果没有,那么就重新启动它。那么报错的问题就是没有启动后台服务进程2.解决办法开启后台进程和重启docker:systemctl daemon-reload...原创 2020-02-06 15:57:13 · 501 阅读 · 0 评论 -
算法题之-用两个栈实现队列 第二天(2019/5/30)
1.题目描述用两个栈来实现一个队列,完成队列的Push和Pop操作。队列中的元素为int类型。2.结题思路两个栈,stock1和stock2stack1用来压栈(push),stack2用来出栈(pop);如果stack2不为空,则出栈,否则将stack1的pop,然后在push到stack2中。3.代码public class 用两个栈实现队列 { public static ...原创 2019-05-30 18:46:47 · 158 阅读 · 0 评论 -
java网路编程之ECHO程序(多线程)
1.服务端程序:package 网络编程.serviceSocket;import java.io.PrintStream;import java.net.ServerSocket;import java.net.Socket;import java.util.Scanner;public class EchoServe { public static void main(Str...原创 2019-05-16 19:46:44 · 322 阅读 · 0 评论 -
Hashmap、HashTable与concurrentHashMap的区别
原创 2019-05-21 22:06:37 · 110 阅读 · 0 评论 -
java网络编程之C/S
什么是C/S结构?其实很容易理解,所谓c/s模式就是客户端与服务端之间的连接;我们在开发中需要开发两套程序,一套是服务端,另一套是客户端程序,更新的时候都需要修改,开发高,但是安全、稳定,自定义传输端口。实例:1.服务端的程序:package 网络编程.serviceSocket;import java.io.InputStream;import java.io.PrintWrite...原创 2019-05-16 18:34:56 · 585 阅读 · 0 评论 -
代理模式
引入工厂后的代理设计缺点:就是在开发中有很多接口,如果用到代理的话,就要写n个接口和n个子类,所以说,这个代理者应用于一个接口当中,不适合在开发中应用。解决:使用动态代理模式。...原创 2019-05-12 11:27:47 · 140 阅读 · 1 评论 -
ClassLoader类加载器
类加载器的流程:1.Bootstrap2.ExtClassLoader3.APPClassLoader4.自定义类加载器ClassLoader加载器是可以通过动态的路径实现类的加载处理操作。原创 2019-05-12 11:02:12 · 122 阅读 · 0 评论 -
List集合框架图
原创 2019-05-21 15:06:35 · 356 阅读 · 0 评论 -
算法—从尾到头打印链表(2019/5/24)
方法一:用StringBuffer中的reverse()方法来打印public class 从尾到头打印链表 { public static void main(String[] args) { StringBuffer str = new StringBuffer("123"); String s = res(str); System.out.println(s); } /...原创 2019-05-24 19:47:22 · 132 阅读 · 0 评论 -
Volatile关键字流程图
原创 2019-05-15 22:13:42 · 172 阅读 · 0 评论 -
反射与简单类(单级VO)
代码部分:1.Emp类:package 反射与单级类;/** * 封装实体 * @author Administrator * */public class Emp { private String uname; private String job; public String getUname() { return uname; } public void set...原创 2019-05-10 19:16:23 · 163 阅读 · 0 评论 -
面试中被问到的面试题(2019/5/23)
1.自我 介绍;2.聊大学做的项目;3.正式进入主题,聊java基础(1)说一个java中的基本数据类型有哪些?(2)String是基本数据类型吗?(3)String为什么是不可变对象?让你实现一个不可变对象,你会怎么设计?(4)了解java中的那些集合?(5)说一下list、set的区别?以及ArrayList和linkedlist的区别?(6)Map下包括那些类?(7)Has...原创 2019-05-23 18:26:56 · 190 阅读 · 0 评论 -
算法题之-重建二叉树 第二天(2019/5/30)
1.题目描述输入某二叉树的前序遍历和中序遍历的结果,请重建出该二叉树。假设输入的前序遍历和中序遍历的结果中都不含重复的数字。例如输入前序遍历序列{1,2,4,7,3,5,6,8}和中序遍历序列{4,7,2,1,5,3,8,6},则重建二叉树并返回。2.思路我们知道,前序遍历的规则是 根左右 ,那么第一个节点是根节点,这样确定了根节点之后, 我们根据中序遍历可以将数划分为左子树和右子树;...原创 2019-05-30 18:22:47 · 81 阅读 · 0 评论 -
算法题之-链表中倒数第k个结点 第四天(2019/6/2)
1.题目描述输入一个链表,输出该链表中倒数第k个结点。2.解题思路经典的双指针法。定义两个指针,第一个指针从链表的头指针开始遍历向前走k-1步,第二个指针保持不动,从第k步开始,第二个指针也开始从链表的头指针开始遍历,由于两个指针的距离保持在k-1,当第一个指针到达链表的尾节点时,第二个指针刚好指向倒数第k个节点。关注要点链表头指针是否为空,若为空则直接返回回nullk是否为0,k为...原创 2019-06-02 21:48:16 · 131 阅读 · 0 评论 -
算法题之-调整数组顺序使奇数位于偶数前面 第四天(2019/6/2)
import java.util.ArrayList;import java.util.List;/** * 题目描述 * 输入一个整数数组,实现一个函数来调整该数组中数字的顺序, * 使得所有的奇数位于数组的前半部分,所有的偶数位于位于数组的后半部分, * 并保证奇数和奇数,偶数和偶数之间的相对位置不变。 * @author Administrator * */pub...原创 2019-06-02 20:47:52 · 142 阅读 · 0 评论 -
算法题之-数值的整数次方 第四天(2019/6/2)
1题目描述给定一个double类型的浮点数base和int类型的整数exponent。求base的exponent次方。2.解题思路指数为负时,可以先对指数求绝对值,算出次方的结果后再取倒数当底数为0,指数为负时,会出现对0求倒数情况,要特殊处理0的0次方在数学上没有意义,因此无论输出0还是1都是可以接受的在计算次方的时候,除了简单的遍历,我们可以使用递归的思想3.代码publ...原创 2019-06-02 20:28:46 · 123 阅读 · 0 评论 -
算法题之-矩形覆盖 第三天(2019/5/31)
1.题目描述我们可以用2 * 1的小矩形横着或者竖着去覆盖更大的矩形。请问用n个2 * 1的小矩形无重叠地覆盖一个2 * n的大矩形,总共有多少种方法?2.解题思路依旧是斐波那契数列f(1) = 1f(2) = 2当n=3时,它可以由n=2的情况再覆盖一块得到,也可以由 n=1的情况再覆盖 2 块得到,所以 f(3) = f(1) + f(2),依次往下推,可以得到f(n) = 1,...原创 2019-05-31 19:23:16 · 174 阅读 · 0 评论 -
算法题之-变态跳台阶 第三天(2019/5/31)
1.题目描述一只青蛙一次可以跳上1级台阶,也可以跳上2级……它也可以跳上n级。求该青蛙跳上一个n级的台阶总共有多少种跳法。2.解题思路f(1) = 1f(2) = f(2-1) + f(2-2) f(3) = f(3-1) + f(3-2) + f(3-3) ...f(n) = f(n-1) + f(n-2) + f(n-3) + ... + f(n-(n-1)) + ...原创 2019-05-31 19:00:11 · 154 阅读 · 0 评论 -
算法题之-跳台阶 第三天(2019/5/31)
1.题目描述一只青蛙一次可以跳上1级台阶,也可以跳上2级。求该青蛙跳上一个n级的台阶总共有多少种跳法(先后次序不同算不同的结果)。2.解题思路按照题意,1 级 —- 1 种2 级 —- 2 种3 级 —- 3 种4 级 —- 5 种5 级 —- 8 种我们可以得到一种规律,如果要跳 6 级,可以从 5 级跳一步到 6 级,5 级的方案中有多少种就有多少种跳法跳到 6 级;还可以从...原创 2019-05-31 18:44:35 · 158 阅读 · 0 评论 -
算法题之-斐波那契数列 第三天(2019/5/31)
1.题目描述大家都知道斐波那契数列,现在要求输入一个整数n,请你输出斐波那契数列的第n项(从0开始,第0项为0)。n<=392.解题思路公式:f(n) = n, n <= 1f(n) = f(n-1) + f(n-2), n > 1可以直接使用递归的方法:if(n<=1) return n;else return Fibonacci(n-1)+Fibon...原创 2019-05-31 18:27:57 · 237 阅读 · 0 评论 -
static关键字学习
1.static 关键字1.1static 关键字主要有以下四种使用场景修饰成员变量和成员方法静态代码块修饰类(只能修饰内部类)静态导包(用来导入类中的静态资源,1.5之后的新特性)1.1.1 修饰成员变量和成员方法(常用)被 static 修饰的成员属于类,不属于单个这个类的某个对象,被类中所有对象共享,可以并且建议通过类名调用。被static 声明的成员变量属于静态成员变量,...转载 2019-05-31 14:32:18 · 163 阅读 · 1 评论 -
算法题之-旋转数组的最小数字 第二天(2019/5/30)
1.题目描述把一个数组最开始的若干个元素搬到数组的末尾,我们称之为数组的旋转。 输入一个非减排序的数组的一个旋转,输出旋转数组的最小元素。 例如数组{3,4,5,1,2}为{1,2,3,4,5}的一个旋转,该数组的最小值为1。 NOTE:给出的所有元素都大于0,若数组大小为0,请返回0。2.解题思路采用二分查找法。需要考虑三种情况:array[mid] > array[high]:...原创 2019-05-30 19:35:22 · 256 阅读 · 0 评论 -
Class类对象的三种实例化模式
1任何的实例化对象可以通过Object类中的getClass()方法获得Class对象:import java.util.Date;public class Class_test1 { public static void main(String[] args) { //第一种Class实例化模式,也将是通过class类来实例化对象 Class<?> cls = new...原创 2019-05-06 20:24:22 · 4312 阅读 · 0 评论 -
替换空格
题目描述将一个字符串中的空格替换成 “%20”。Input:“A B”Output:"A%20Bimport java.lang.*;public class 替换空格 {private static char charAt;public static void main(String[] args) { StringBuffer str = new StringBuf...原创 2019-05-08 18:35:35 · 100 阅读 · 0 评论 -
二叉树的遍历
package Arrays类;import java.util.Arrays;/* * 实现二叉树 * 规则是: * 根节点 ,按中序遍历进行排序,从大到小的话,先从左面,然后是中间,在就是右边 * * * * * 算法的步骤: * 1.创建节点{数据,左节点,右节点,构造函数(用于初始化数据)} * 2.创建根节点 * 3....原创 2019-04-02 19:22:19 · 68 阅读 · 0 评论 -
抽象工厂模式
首先上图:第一次看这个模式图可能不太理解什么含义,下面我会举个例子来讲解抽象工厂模式。所谓抽象工厂模式,顾名思义,就是有一个抽象类,分装了具体的具体的工厂,这里有多个产品,也就是所定义的产品族,它们都是具体的类,比如说抽象工厂是定义形状和颜色的产品,那么就要定义形状工厂,具体的那种形状,工厂不管,只管提供接口,同样的,颜色工厂也是一样,是一个产品。再举个例子加以说明:有时候参加一些聚...原创 2019-03-27 13:04:03 · 89 阅读 · 0 评论 -
原型模式
一、模式的定义所谓原型模式就是用原型实例指定创建对象的种类,并且通过复制这些原型创建新的对象。在原型模式中,所发动创建的对象通过请求原型对象来拷贝原型对象自己来实现创建过程,当然所发动创建的对象需要知道原型对象的类型。所发动创建的对象只需要知道原型对象的类型就可以获得更多的原型实例对象。至于这些原型对象时如何创建的根本不需要关心。在这里有区分两个基本的概念:浅拷贝:使用一个已知实例对新创建实...原创 2019-03-31 12:34:12 · 119 阅读 · 0 评论 -
二进制求和
class Solution1 { /* * 二进制求和: * 给一个字符串,然后字符串是二进制 * 分为两种情况:一种是进位,另外是不进位 * 当进位的的时候,从最右边进行遍历,然后转化成int型,在进行加操作 * 还有考虑到的是,两个字符串的长度不一致的情况,这样进行加操作是不可行的, * 所以在左边缺少的位置看做零,比如说:11 和 1 ,把1 可以看成0...原创 2019-03-26 19:32:30 · 88 阅读 · 0 评论 -
单例模式
在java中单例模式是最简单的模式之一,这种类型的设计模式属于创建型模式,它提供了一种创建对象的最佳方式。1.意图:保证了一类仅有一个实例,并且提供了一个它的全局的访问点。2.主要解决:一个全局使用的类频繁地创建和销毁。3.如何使用:当想控制实例数目,节省系统资源的时候。4.如何解决:判断系统是否已经有这个单例,如果有则返回,么有则创建。5.关键代码:构造函数是私有的。6.举个例子:一...原创 2019-03-29 14:57:23 · 83 阅读 · 0 评论 -
Shell 输入/输出重定向
输出重定向重定向一般通过在命令间插入特定的符号来实现。特别的,这些符号的语法如下所示:command1 > file1上面这个命令执行command1然后将输出的内容存入file1。注意任何file1内的已经存在的内容将被新内容替代。如果要将新内容添加在文件末尾,请使用>>操作符。实例执行下面的 who 命令,它将命令的完整的输出重定向在用户文件中(users):$...翻译 2019-03-17 23:05:39 · 97 阅读 · 0 评论 -
Shell 流程控制
if 语句语法格式:if conditionthen command1 command2 ... commandN fi写成一行(适用于终端命令提示符):if [ $(ps -ef | grep -c “ssh”) -gt 1 ]; then echo “true”; fiif else-if else 语法格式:f condition1then...原创 2019-03-17 22:43:29 · 78 阅读 · 0 评论 -
SSH原理与运用(一):远程登录
1.什么是ssh?简单说,ssh是一种网络协议,用于计算机之间的加密登陆。如果一个用户从本地计算机,使用SSH协议登录另一台远程计算机,我们就可以认为,这种登录是安全的,即使被中途截获,密码也不会泄露。需要指出的是,SSH只是一种协议,存在多种实现,既有商业实现,也有开源实现。2.最基本的用法SSH主要用于远程登录。假定你要以用户名user,登录远程主机host,只要一条简单命令就可以...转载 2019-03-17 22:22:49 · 194 阅读 · 0 评论 -
Linux vi/vim学习
Linux vi/vim学习vim 具有程序编辑的能力,可以主动的以字体颜色辨别语法的正确性,方便程序设计。相关文章:http://www.runoob.com/w3cnote/all-vim-cheatsheat.html1.什么是vim:Vim是从 vi 发展出来的一个文本编辑器。代码补完、编译及错误跳转等方便编程的功能特别丰富,在程序员中被广泛使用。简单的来说, vi 是老式的字处...原创 2019-03-12 20:08:42 · 156 阅读 · 1 评论 -
Scanner类
java.lang.Object继承者 java.util.Scanner :解决的是BufferedReader类的缺陷类public final class Scanner extends Object implements Iterator<String>一个可以使用正则表达式来解析基本类型和字符串的简单文本扫描器。Scanner 使用分隔符模式将其输入分解为标记,默...原创 2019-05-04 21:25:49 · 150 阅读 · 0 评论 -
类 PrintStream(打印流)
java.lang.Object—继承者 java.io.OutputStream------继承者 java.io.FilterOutputStream---------- 继承者 java.io.PrintStream类public class PrintStream extends FilterOutputStream implements Appendable, Closeab...原创 2019-05-04 21:39:50 · 258 阅读 · 0 评论 -
JDK1.8新特性
转载:https://blog.csdn.net/qq_29411737/article/details/80835658转载 2019-05-04 21:54:16 · 85 阅读 · 0 评论 -
二维数组中的查找
public class 二维数组中的查找 { public static void main(String[] args) { int[][] number = {{1,2,3},{4,5,6},{7,8,9}}; int target = 10; boolean bl =arrayL(number , target) ; ...原创 2019-05-08 15:25:47 · 79 阅读 · 0 评论 -
数组中重复的数字
public class 数组中重复数字 { public static void main(String[] args) { int[] number = {2,1,3,0,2,5}; int[] extra = new int[1]; numberEqual(number,extra); System.out.printl...原创 2019-05-08 15:25:04 · 84 阅读 · 0 评论 -
反射机制
所谓反射,就是指对象的反向操作。在这里说一下“正”的操作,我们导入一个包,然后有了类才能产生实例化对象,如果没有包就找不到这个类,例如:定义一个Date类,如果没有这个导入Date类的包,就无法实例化对象。所谓“反”是指根据对象来取得对象来源的信息,例如:大明的儿子小明,把王五的车画了,王五很生气,让小明带着王五去找他的家人讨个说法。这就是通过儿子这个对象找到对象的来源信息,是谁家的孩纸。而这...原创 2019-05-05 20:42:46 · 132 阅读 · 0 评论 -
transient关键字
java语言的关键字,变量修饰符,如果用transient声明一个实例变量,当对象存储时,它的值不需要维持。换句话来说就是,用transient关键字标记的成员变量不参与序列化过程。Java的serialization提供了一种持久化对象实例的机制。当持久化对象时,可能有一个特殊的对象数据成员,我们不想用serialization机制来保存它。为了在一个特定对象的一个域上关闭serializat...原创 2019-05-05 20:08:34 · 130 阅读 · 0 评论