
JAVA开发工程师学习日记
文章平均质量分 52
千与编程
北京大学计算机硕士
️ 点个关注,私信领取算法岗路线图
毕业拿到8家大厂SP以上Offer
持续分享互联网求职赚干货
展开
-
阿里云服务器安装宝塔Linux面板教程(详解)
宝塔面板是一款使用很方便、功能强大且终身免费的服务器管理软件,支持 Linux 与 Windows 系统。在宝塔面板中,您可以一键配置 LAMP、LNMP、网站、数据库、FTP、SSL,还可以通过 Web 端轻松管理服务器。本文指导您如何在云服务器的 Linux 实例上手动安装宝塔面板。可以根据安排进行相关配置的安装,其中的LNMP(推荐)是常用的网站安装配置,用于进行网站的配置。(1)登录购买的阿里云服务器后台,查询公网IP,进行主机的登录。(我所使用的是腾讯云的服务器,其与阿里云的服务器没区别)原创 2023-03-04 12:49:32 · 978 阅读 · 0 评论 -
window下终端报错:服务名无效。 请键入 NET HELPMSG 2185 以获得更多的帮助。
当需要进行进行mysql数据库的重启或者停止的时候,在window的终端进行输入net stop mysql终端输出:服务名无效。 请键入 NET HELPMSG 2185 以获得更多的帮助。错误的原因:mysql服务未注册到window的服务解决办法:打开管理员界面下的终端:mysqld -install结果如下:...原创 2021-09-05 11:09:02 · 7118 阅读 · 0 评论 -
IDEA+SpringBoot框架bug整理,解决Spring Boot Application in default package
在使用IDEA编辑器的时候引入SpringBoot框架的进行web后端项目的开发,但是在主函数的类名中报错:解决Spring Boot Application in default package,报错原因:SpringBoot的主函数需要放入默认的路径,IDEA的maven代码结构如下:我们一般是在最后的Java文件夹中编写我们的逻辑代码,但是当我们进行分模块的时候,也就是采用模块化编写代码,此时就不能在Java文件夹下直接创建源码文件,需要在Java的文件夹下创建一个文件夹的参考路径,在编写启原创 2021-06-28 18:33:49 · 342 阅读 · 0 评论 -
IDEA右下角git图标上消失,如何重现?
昨天给IDEA更新了主题,结果今天早上的时候发现在IDEA的下角发现没有git master的图标Intellij IDEA 默认有一个实用的功能:如果项目是基于git管理代码,那么右下角会显示当前的git分支。那么如果你的右下角没有显示,那么可能有以下的三种情况:确认本机是否安装 git;确认启用的 IDEA 的git插件;确认选中了菜单栏 View 中的 Status Bar 。大多数情况时在菜单栏的view下取消了status barView -> apprean原创 2021-06-16 11:02:52 · 24148 阅读 · 3 评论 -
IDEA中关于git merge 与 git rebase的区别
git merge 的意思为代码合并融入git rebase 的意思为代码底层更新通俗来说就是:git merge 是将之前的代码与commit的代码分支进行一个修改版本的合并git rebase 是用现在的分支和commit的代码分支进行合并,但是不生成新的版本直接更新原来的分支...原创 2021-06-10 16:13:17 · 2777 阅读 · 0 评论 -
IDEA中git工具的使用注意事项,忽略.iml特殊文件格式
IDEA中git工具的使用方法,在有的时候需要在git push 代码的时候需要对一些不必要的代码格式文件进行“屏蔽操作”.iml文件:idea 对module 配置信息之意, infomation of moduleiml是 intellij idea的工程配置文件,里面是当前project的一些配置信息。属于IDEA编辑器内部自己产生的文件,对代码库上一些文件没有实际的意义。.idea文件夹.idea存放项目的配置信息,包括历史记录,版本控制信息等。因此在进行本地分支的代码提交时候,需要进原创 2021-06-10 15:25:44 · 5859 阅读 · 0 评论 -
Java语言中进行时间戳以及日期时间点的转换(用于mysql中存储的时间戳字段)
将时间戳原创 2021-06-10 14:57:14 · 591 阅读 · 0 评论 -
三分钟帮你解决Leetcode所有杨辉三角的算法题目
大家好,我是千与千寻,最近更新的有点频繁啊,主要是最近感觉学到了太多有用的东西,想来和大家分享。上一期我们分享了LeetCode算法题目中的股票交易合集,今天我们来讲解一下LeetCode中的一个特例——杨辉三角问题合集。更多题解合集持续关注我,编程能力的提高,需要用算法题的刷题数量来喂出来的,下面我们直接进入技术环节!另外,各位最近的股票基金怎么样了,不用说了,都是泪啊~所以还是要说投资是一场持久战,就如同人生一样,一时的失利,那算不了什么,只要我们坚持心中的目标,终会有实现的一天,白酒,反弹!原创 2021-03-13 12:42:16 · 384 阅读 · 1 评论 -
win10操作系统上忘记MySQL数据库密码,如何修改重置密码教程
MySQL数据库是作为后端工程师的数据库实现增删改查,必不可少的重要组成部分。但是现在社会的信息更新的太快。如果MySQL的登录密码忘记了怎么办,小编也是中招之人,老实说现在真的是内卷啊!具体的过程如下:1.首先要关闭mysql的服务使用window下的shell(管理员)以管理员身份打开cmd,执行:net stop mysql直接执行可能会报错,需要切换到mysql安装文件下的bin文件下,执行就不会报错了。2.切换到MySQL的bin文件夹下,执行mysqld --console --原创 2021-03-03 21:28:30 · 1428 阅读 · 3 评论 -
Java语言实现生产者与消费者的消息队列模型(附源码)
package com.company;import java.util.LinkedList;/** * 生产者消费者问题 */public class Main{ //最大容量 public static final int MAX_SIZE = 2; //存储媒介 public static LinkedList<Integer> list = new LinkedList<>(); static class Produc原创 2021-02-19 19:58:52 · 1521 阅读 · 0 评论 -
Java面试题查缺补漏习题,锁的升级,动态代理
之前我们总结了Java面试题目中的关于计算机网络,操作系统,以及JVM虚拟机,以及Java的相关特性。今天又看了很多面试的视频,对面试的题目进行一下仔细的补充。1.对称加密与非对称加密的区别:非对称加密和对称加密在加密和解密过程、加密解密速度、传输的安全性上都有所不同,具体介绍如下:(1)加密过程和解密过程不同:对称加密过程和解密过程使用的同一个密钥,加密过程相当于用原文+密钥可以传输出密文,同时解密过程用密文-密钥可以推导出原文。但非对称加密采用了两个密钥,一般使用公钥进行加密,使用私钥进行解密原创 2021-01-10 17:11:25 · 180 阅读 · 0 评论 -
一文读懂大厂面试的JAVA基础(集合,面向对象特性,反射,IO,容器)
整理了操作系统,计算机网络,以及JVM的高频面试题目,对于面试大厂的Android以及后端开发岗位,可以说的是十分必要的部分就是JAVA语言的基础,在整体的内容上我认为有以下的几个部分,我发现任何的学习都是先建立框架体系,再逐个击破,针对Java的基础中包括:(1)Java语言的面向对象的特性(2)Java语言的集合种类以及特性(3)Java语言的反射特性(4)Java的IO流(5)Java语言与其他编程语言的特性对比Java语言的基础部分的面试就是这些,我们直接上面试题,完整的面试题目资料可以原创 2021-01-02 21:08:03 · 295 阅读 · 0 评论 -
一文读懂大厂面试的操作系统面试题目(超详细整理,线程,进程,死锁)
操作系统是大厂进行计算机开发以及算法岗位面试的必备部分,操作系统的面试中其实还包括操作系统的线程,进程的相关知识,以及Linux系统的内核和实际的使用。通过阅读很多的大厂的面试心经在操作系统的使用,进行了以下的操作系统面试题目的总结。操作系统的面试重点涉及线程,进程的基本概念,进程与线程的区别与联系,操作系统的死锁的发生,以及避免死锁的发生,片段存储区别,以及Linux系统的操作指令。1.什么是进程以及线程?二者之间的区别有哪些?进程是系统进行资源调度与分配的基本单位,线程是CPU进行资源调度与分配原创 2021-01-01 16:49:45 · 951 阅读 · 0 评论 -
一文读懂大厂面试的计算机网络面试题目(超详细整理)(TCP/IP,OSI,HTTP协议)
对于大厂的面试来说,掌握基本的计算机网络知识十分必要,但是说实话就单单是博主觉得,看书去复习,是最好的“安眠药”,哈哈哈,所以具有针对性的去学习更加的有效果,所以直接看大厂的高频面试题,快速建立知识结构体系。以下的一些是博主通过博览众多平台的博客推文进行的汇总:1.计算机网络OSI模型,TCP/IP,五层协议的体系结构,以及各层的协议(高频)计算机网络OSI分层共分为7层:由下至上依次为:物理层,数据链路层,网络层,传输层,表示层,会话层,应用层七层的各层传输通信协议,对应的作用和代表设备,传输的原创 2020-12-31 22:06:34 · 1112 阅读 · 0 评论 -
一文读懂JVM虚拟机的高频面试题(超详细)
1.简述Java语言中的JVM虚拟机的内存模型?在整个的JVM的结构分为类加载机制,数据内存区,执行引擎在JVM的内存模型中共分为五个部分:程序计数器,虚拟机栈,本地方法栈,java堆,方法区,在以上的5个数据区中Java堆,方法区:线程共享程序计数器,虚拟机栈,本地方法栈:线程私有程序计数器:在JVM内部是一块很小的内存区域,用来指示当前程序中线程所执行的字节码的行数指示器,为了保证线程进行上下文切换时能恢复到正确的位置,每一个线程有独立的程序计数器,故为线程私有,且不会出现内存溢出。虚拟机栈:原创 2020-12-24 21:50:41 · 233 阅读 · 1 评论 -
Java开发工程师学习日记(十)
1.谈谈Java线程池使用的优势:(1)Java线程池是一定数量的线程集合,线程的频繁创建与销毁消耗了操作系统与内存的大量资源,使用线程池使得减少了线程创建与销毁的资源浪费。(2)使用线程池可以提高程序的响应速度,通过复用已存在的线程,无需等待新线程的创建便能立即执行。(3)进行线程并发数的管控,过多的创建线程会使得造成系统内存过载溢出。2.Java线程池的参数有哪些线程池的方法参数:public ThreadPoolExecutor(int corePoolSize, int maximumP原创 2020-12-05 21:59:19 · 296 阅读 · 0 评论 -
Java开发工程师学习日记(九)
1.TCP与UDP网络传输协议方面:TCP的传输报文形式比UDP的传输形式更加复杂,因此UDP头部只有四个字段,因此传输效率比较,TCP<UDP2.数组或者字符串的null值含义:null表示字段或者变量还没有确定的值,3.IP地址的分类:A类:0.0.0.0~127.255.255.255B类:128.0.0.0~191.255.255.255C类:192.0.0.0~223.255.255.2554.网络的分类:局域网(LAN):一般限定在较小的区域内(小于10km的范围),通常原创 2020-11-24 20:27:07 · 458 阅读 · 0 评论 -
1122.数组的相对排序(分治+拼接)
题意:本题目刚刚接触可能会有一点想不通,这是正常的现象对题目的解释如下:arr1的数组与arr2的数组中以arr2的数组进行排序,将arr1中的但是没有在arr2中不存在的元素,与arr2进行拼接原题题干:代码:class Solution { public int[] relativeSortArray(int[] arr1, int[] arr2) { int upper=0; for(int x:arr1){ upper=Math原创 2020-11-14 11:53:30 · 338 阅读 · 0 评论 -
LeetCode题解328.奇偶链表(分治算法)java(详细解释,逐行代码注释)
本题是将链表进行分开,举个例子:有如下链表:1->2->3->4->5->6经过本题的算法处理后输出的listNode序列为:1->3->5->2->4->6也就是将奇数位置与偶数位置的元素聚集在一起;结合代码注释即可看懂有问题欢迎关注我的微信公众号:AI学习经历分享,还有大量算法与开发的网盘学习资源,也可以加我微信与我私聊~算法运行截图:/** * Definition for singly-linked list. *原创 2020-11-13 19:56:58 · 242 阅读 · 0 评论 -
Java开发工程师学习日记(七)
1.系统中设置当前工作目录的主要目的是加快检索速度2.操作系统的CPU调度方法,时间片轮法,每个进程将得到小单位的CPU时间(时间片),通常为10-100毫秒。时间片用完该进程将被抢占并插入就绪队列末尾。所以目的是为了多个终端都能得到时间片,而每个终端系统的及时响应。3.需CPU资源最少的进程先做属于“短作业优先”调度算法。4.排序算法的时间复杂度以及空间复杂度:5.Linux操作系统中的一些操作命令:cp:复制dd :vim中删除整行fmt :编排文本文件cut :从一行上移除部分内容选择原创 2020-10-30 20:29:38 · 1220 阅读 · 5 评论 -
java开发工程师学习日记(七)
web.xml文件是用来初始化配置信息,web.xml是放置在WEB-INF目录中局部变量可以与成员变量重名,这时可用“this”来指向成员变量setDaemon()方法必须在线程启动之前调用,当线程正在运行时调用会产生异常。public:可以被所有其他类所访问private:只能被自己访问和修改protected:自身、子类及同一个包中类可以访问default:同一包中的类可以访问,声明时没有加修饰符,认为是friendly。5.persistent方式的MDB可以保证消息传递的可靠性,也.原创 2020-10-26 20:02:08 · 194 阅读 · 0 评论 -
Java开发工程师学习日记(六)
1.Serializable要实现序列化对象必须要实现的接口2.当在操作系统中点击或者拖动鼠标的时候,触发的是mouseEvent3.在java的正则表达式\d代表的是数字的字符4.abstract修饰符可修饰字段、方法和类5.java中的Math的取整数的接口。math.ceil:ceil可以理解为天花板,也就是向上取整数,所以math.ceil(11.3)的值为12,math.ceil(-11.3)为-11;math.floor:floor则是翻译为地板,也就是向下取整数,math.floo原创 2020-10-23 20:49:43 · 287 阅读 · 2 评论 -
JAVA开发工程师学习日记(五)
1.java中GC(Garbage Collection)回收机制是当对象的所有引用都消失后,对象使用的内存将自动回收。2.final关键字可用于修饰类、变量和方法。final修饰变量时,表示该变量一旦获得了初始值就不可被改变,final既可以修饰成员变量也可以修饰局部变量、形参。3.包含抽象方法的类必须定义为抽象类; 抽象类不一定包含抽象方法,也可以包含普通方法; 抽象类有构造方法,但是不能new一个对象; java语言只支持单继承。4,java中的Struct框架,struct框架可以进行文件上传原创 2020-10-17 00:05:08 · 274 阅读 · 0 评论 -
java开发工程师学习日记(四)
1.JVM的内存中,方法区用于存储JVM加载的类信息、常量、静态变量、以及编译器编译后的代码等数据,是线程共享的。2.doGet/doPost 则是在 javax.servlet.http.HttpServlet 中实现的。3.Servlet的生命周期分为5个阶段:加载、创建、初始化、处理客户请求、卸载。(1)加载:容器通过类加载器使用servlet类对应的文件加载servlet(2)创建:通过调用servlet构造函数创建一个servlet对象(3)初始化:调用init方法初始化(4)处理客户原创 2020-10-15 20:12:50 · 211 阅读 · 0 评论 -
Java开发工程师学习日记(三)
1.Java语言中负责并发管理机制的是多线程(这道题来自牛客网,但是感觉不太对劲),Java中并发的实现机制是多线程,而不是管理机制,算了。自己理解就好。2.Java中的线程池具有什么作用?(1)合理的限制线程的数量,保证系统的稳定,防止造成资源的浪费。(2)可以持续使用创建的线程,进行循环的利用,减少了线程在创建与销毁过程中的能源消耗。(3)不用频繁的创建线程,提高了响应的速度。3.java web中的http get 和post请求的区别?get和post都是http的请求方式,http(原创 2020-10-14 21:39:31 · 368 阅读 · 0 评论 -
java开发工程师学习日记(二)
1.hashmap与hashtable的区别?hashmap与hashtable的底层实现原理都是一样的,都是哈希表的实现原理。复习一下哈希表的实现原理:哈希表的存储类型为key-value的存储形式,采用key与value之间进行映射的数据结构。hashmap与hashtable之间的不同点:(1)Hashtable是早期提供的接口,HashMap是新版JDK提供的接口。(2)Hashtable继承Dictionary类,HashMap实现Map接口。(3)Hashtable线程安全,Hash原创 2020-10-12 19:44:17 · 187 阅读 · 0 评论 -
java开发工程师学习日记(一)
(1)java的int具有几个字节?int具有4个字节,一个字节具有8位,因此int类型具有32位的数据,最小值:Integer.MIN_VALUE= -2147483648 (-2的31次方,最大值:Integer.MAX_VALUE= 2147483647 (2的31次方-1)(2)java的面向对象的特性1.封装封装的定义:隐藏对象的属性及实现细节,仅对外公开访问接口,控制外部访问对外接口的访问权限,使对象内部数据及数据操作结合一个整体-类。封装的目的:增强对象的安全性及简化编程,访问者不原创 2020-10-11 19:51:09 · 280 阅读 · 0 评论