自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 自动代码生成工具-codeGenerator

简单使用默认模板的自动化生成工具学习总结

2022-07-09 14:02:12 656 1

原创 git stash save和stash pop操作

tortoisegit使用stash save记录ortoisegit使用stash pop记录如果此时工作区有改动的文件,会出现以下的错误这时候不要着急,再次执行一次stash save,或者把当前的改变commit, 再继续stash pop,就会成功了。可以查看自己stash save的次数...

2021-04-23 14:56:40 1354

原创 java的接口和抽象类有什么不同

接口和抽象类是 Java 面向对象设计的两个基础机制。接口是对行为的抽象,它是抽象方法的集合,利用接口可以达到 API 定义和实现分离的目的。接口,不能实例化;不能包含任何非常量成员,任何 field 都是隐含着 public static final 的意义;同时,没有非静态方法实现,也就是说要么是抽象方法,要么是静态方法。Java 标准类库中,定义了非常多的接口,比如 java.util.List。抽象类是不能实例化的类,用 abstract 关键字修饰 class,其目的主要是代码重用。除了不

2020-05-10 14:07:20 364

原创 IO-必须掌握的技术

IO一直是软件开发中的核心部分之一,伴随着海量数据增长和分布式系统的发展,IO扩展能力越发重要。首先IO不仅指文件IO,还有网络IO。文件IO有很多种,基于不同的IO抽象模型和交互方式,可以区分为JAVA IO,NIO,NIO2(AIO)。首先,传统的 java.io 包,它基于流模型实现,提供了我们最熟知的一些 IO 功能,比如 File 抽象、输入输出流等。交互方式是同步、阻塞的方式,...

2020-04-29 23:22:28 483

原创 线程池使用原理

一 为什么要使用线程池呢?因为线程不可以重复的启动,否则会报IllegalThreadStateException运行时异常,重复启动线程会被认为是编程错误。而且创建和启动线程是会存在一些开销,这样就可以创建线程池就可以提升资源利用效率,简化线程管理。二 线程池的分类newCachedThreadPool()newFixedThreadPool(int nThreads)...

2020-04-12 13:42:00 131

原创 学习线程的总结

1 线程的概念进程是操作系统执行的一个任务,而线程是进程中的一个执行单元,线程是程序内部执行的顺序控制流。单线程是从一个程序的上面按照顺序执行,而线程可以改变这种执行顺序。2 线程的状态NEW 至今尚未启动的线程的状态 RUNNABLE 可运行线程的线程状态。处于可运行状态的某一线程正在 Java 虚拟...

2020-04-09 15:23:21 156

原创 新手学习Git版本控制系统的常见命令

版本控制系统分为两大类:集中版本控制系统,代表是SVN;分布式版本控制系统,代表是GIT接下来介绍一下我学习git的一些用法1 下载git的网址:https://git-scm.com/download/win2 下载完之后,使用GIT GUI操作3 使用git之前需要配置一下user.name,user.email,这样在从github拉取,推送项目的时候...

2020-03-21 17:56:00 96

原创 HashMap的内部实现机制的奥妙

俗话说"工欲善其事,必先利其器",只有明白它的内部实现机制,我们才能更好的使用HashMap为我们服务。接下来让我们一步一步的解开它神秘的面纱。1 首先我们来看看它的内部结构它可以看作是数组(Node<>[] table)和链表结合而成的复合结构,数组被分为一个一个桶(bucket),通过哈希值决定了键值对在数组中的寻址,哈希值相同的键值对会形成链表,(这就是我们常说的...

2020-03-06 23:12:40 119

原创 Hashtable,HashMap,TreeMap之间的区别

Hashtable,HashMap,TreeMap都是一些常见的Map实现。都是以键值对的形式来存储和操作的容器类型。首先分析一下为什么Hashtable为什么不支持驼峰命名规则呢?因为Hashtable是JAVA早期提供的一个哈希表实现,这时候还不支持驼峰命名呢,等到Java实现支持驼峰命名的时候,像重写Hashtable的时候,但这个时候有很多第三方应用已经使用了Hashtable这个名字,要...

2020-03-05 23:03:37 1031

原创 Vector,ArrayList,LinkedList的区别

这三者都是实现集合框架中的List,也就是所谓的有序集合,因此功能比较近似,比如都是按照位置进行定位,添加,删除的操作,都提供迭代器遍历集合的内容。但是因为具体的设计区别,它们三个在行为,性能,线程安全方面又有着截然不同的表现。Vector是Java早期提供的线程安全的动态数组,如果不需要线程安全,不建议选择它。毕竟同步是有额外开销的。Vector内部是根据对象数组来保存数据的,并且根据需要自...

2020-03-04 20:58:36 90

原创 Java集合概述

Java集合类是特别有用的工具类,可用于存储数量不等的对象,并且可以实现常用的数据结构,如栈,队列等。Java集合大致分为Set,List,Map和Queue四种体系,其中Set代表无序,不可重复的集合,而List正好相反,List代表有序,可重复大的集合;Map则代表具有映射关系的集合;Java5又增加了Queue体系集合,代表一种队列集合的实现。集合类和数组不一样,数组元素既可以是基本类型...

2020-03-02 21:53:58 155

转载 在java反射中,Class.forName()和ClassLoader的区别

前言:最近在面试过程中有被问到,在Java反射中Class.forName()加载类和使用ClassLoader加载类的区别。当时没有想出来后来自己研究了一下就写下来记录一下。解释:在java中Class.forName()和ClassLoader都可以对类进行加载。ClassLoader就是遵循双亲委派模型最终调用启动类加载器的类加载器,实现的功能是“通过一个类的全限定名来获取描述此...

2020-02-29 12:03:47 228

原创 Int和Integer有什么区别

Java语言虽然号称一切都是对象,但是原始数据类型除外。Java有8个原始数据类型(primitive type),那就是boolean,int,short,long,char,float,double,byte。Integer是int的包装类,内部有一个private final int value,并且内部提供了基本操作,比如数学运算,int和字符串之间的转换。更重要的是从Java 5中引用了...

2020-02-25 07:51:17 154

原创 Java反射机制的奥妙

反射机制是Java语言提供的一种基础功能。我们在使用IDE编写源代码,之后编译成为对应的class文件,每个类被加载之后,系统都会为该类生成一个对应的class对象,通过这个class对象就可以访问到JVM中的这个类。什么叫反射呢?在程序运行时期,我们可以通过反射直接操作类和对象。比如获取某个类的定义,获取类的属性和方法,调用方法和构造器,甚至可以修改类的属性的访问权限。获取类对象的三个途径:...

2020-02-23 21:42:49 80

原创 解剖String,StringBuffer,StringBuilder三个字符串类型

字符串类型在每种编程语言中都是都是个特殊的存在,因为不管是体积还是数量,字符串都是大多数应用的重要组成部分。下面是一些典型的回答:String: String是java语言中非常基础和重要的类,提供了构造和管理字符串的各种基本逻辑。它是典型的Immutable类,被声明成final类,所有属性也都是被final修饰的,但是也正是由于String的不可变性,类似拼接,裁剪字符串类型等动作,都会产...

2020-02-21 00:05:19 185

原创 强引用,软引用,弱引用,幻象引用之间千丝万缕的关系

由于本人经验有限,所写博客如果有不足的地方,欢迎留言指正。在java语言中,除了原始的基本数据类型的变量,其它都是所谓的引用类型,指向各种不同的对象。强引用,软引用,弱引用,幻象引用(虚引用),这些不同的引用类型,主要体现的是对象不同的可达性(reachable)状态和对垃圾收集的影响。强引用:strong Reference,就是我们常见的普通对象引用,只要还有强引用指向一个对象,就...

2020-02-19 16:06:01 142

原创 谈谈final,finally,finalize三者的不同

final,finally,finalize这三个单词除了长的差不多,其实真实含义却千差万别。final是个关键字,可以修饰类,方法,变量。修饰类代表这个class不可以被继承扩展,修饰方法说明这个方法不可以重写(override),修饰变量说明这个变量是只读的,不可以任意修改的。finally是java代码为保证重要代码必须要执行的一种机制。我们经常会用try-finally或try-c...

2020-02-18 14:08:01 144

原创 Exception和Error的难兄难弟

Exception和Error都是继承Throwable,在Java中只有Throwable类型的实例才可以被抛出(throw)或者捕获(catch),它是异常处理机制的基本组成类型。Error是在正常情况下,不大可能出现的情况,也就是不可预料的情况,绝大部分的Error都会导致程序(比如JVM自身)处于非正常的,不可恢复的状态。既然是非正常的状态,那么也就不需要捕获。Exceptio...

2020-02-17 15:36:13 143

原创 聊聊java平台哪些事

如果有人让你聊聊java平台,你会怎么说呢?java平台包括的东西太多了,有java语言,java类库,jvm,还有一些java常用到的框架......,简直说都说不过来,下面是我的一些见解,算是现阶段对java的一点总结,可以指导我向哪些方面前进。(1)java语言java语言是一门面向对象的编程语言,号称Write once, run anywhere,书写一次,到处运行。其实java...

2020-02-16 12:49:52 332

原创 System.out.println的前世今生

System.out.println()这个函数是很常用的打印函数,但是你在使用这个函数的时候知道它的背后运行原理吗?下面就让我们一起探究它的运行轨迹。首先使用Eclipse创建一个测试工程public class TestSystemOutPrintln { public static void main(String[] args) { System.out.prin...

2020-02-15 15:44:08 152

原创 SpringBoot项目从配置文件中获取值的方式

虽然Spring-boot项目一开始就自动配置了许多参数,如服务器的端口等,如果我们要修改这些参数的话,就要在配置文件中添加这些参数,然后从项目中获取这些参数的值了,下面就是怎么从配置文件中获取值的操作了。SpringBoot的全局配置文件名是固定的,有二个application.properties application.yml这两个文件的作用是修改SpringBoot自动配置的默...

2020-02-10 14:48:19 9850

原创 使用Eclipse快速创建SpringBoot项目

一 使用Eclipse快速创建项目注意:快速创建Spring-boot项目是需要联网的,因为要从Service URL地址获取资源,把Java Version改成自己安装的java版本,然后Group,Artifact,Description,Package按照需要自己改改,然后可以下一步,等待项目的创建。如果Java Version没有自己安装的版本,可以在创建完成之后,在...

2020-02-10 11:14:48 1353

原创 梳理Maven的前世今生

我在尚硅谷网站上学了maven的教程,所以写了这篇博客来进行总结一下,也证明了我学过maven,这只是简单的记录一下,如果有想详细学习的小伙伴可以自己去搜索一下尚硅谷官网或者给我留言,我发给你详细教程。一 为什么我们需要Maven这个构建工具呢?没有学习过Maven的,都会像我一样有过疑问,不用Maven,也可以正常的进行B/S架构的开发项目,从表述层,业务逻辑层,持久化层再到数据库...

2020-02-07 15:49:31 1446

原创 Eclipse中web项目可以显示Tomcat部署目录的插件-Browse Deployment Location

Browse Deployment Location输入Pivotal tc Server Integration for Eclipse,然后点击Go右击Tomcat v9.0 Server at localhost点击之后就会出现

2020-02-06 22:28:36 383 1

原创 Maven安装和手工创建maven项目

1 maven安装下载maven软件 http://maven.apache.org/download.cgi 检查JAVA_HOME 变量C:\Windows\system32>echo %JAVA_HOME%C:\Program Files\Java\jdk-12配置环境变量查看Maven版本信息C:\Windows\system32>mvn -v...

2020-02-06 22:06:13 282

转载 新版Eclipse安装插件的方式和使用说明

拷贝安装方式1、通过ECLIPSE_HOME\plugins安装在eclipse的主目录ECLIPSE_HOME, 比如在我的机器上安装的目录是:ECLIPSE_HOME有一个plugins的目录,这种方法的插件安装非常简单,只要将插件copy到这个目录下就可以 了。比如我有一个weblogic的插件(bea站点上可以下载),解压缩之后得到得到一个目录: 【com.bea.ecl...

2020-02-06 21:05:20 1466

原创 自学redis总结-下篇

七 REDIS主从复制1 Master/Slave机制,主机更新数据,同步到从机种,Master以写为主,Slave以读为主2 配从库,不配主库,读写分离,从库配置slaveof 主机ip 主机port,info replication 查看当前redis是主库还是从库3 配置文件修改: a 开启daemonize yes ...

2019-12-07 22:48:47 86

原创 自学redis总结--------中篇

c redis的配置文件redis.conf讲解redis.conf 配置项说明如下:1. Redis默认不是以守护进程的方式运行,可以通过该配置项修改,使用yes启用守护进程daemonize no2. 当Redis以守护进程方式运行时,Redis默认会把pid写入/var/run/redis.pid文件,可以通过pidfile指定pidfile /var/run/redis.p...

2019-12-05 23:17:16 84

原创 自学redis总结--------上篇

一 redis部署的环境llinu环境 Linux 2.6.32-358.el6.x86_64 #1 SMP Tue Jan 29 11:47:41 EST 2013 x86_64 x86_64 x86_64 GNU/Linux redis版本 redis-5.7.tar.gz gcc版本 gcc version 4.4.7 20120313 (Red Hat 4.4-3) (...

2019-12-04 22:55:07 174

原创 oracle数据库学习1

前面已经写完如何安装oracle数据库了,下面就是介绍一下如何学习oracle数据库进行学习了。一    判断数据库是否进行启动[oracle@zjk ~]$ ps -ef | grep ora_oracle 1869 1 0 23:14 ? 00:00:00 ora_pmon_ora138oracle 1871 1 0 23:14 ? 00:00:00 ora_psp0_ora1

2016-04-22 23:19:56 403

原创 oracle数据库安装3

前面已经安装好了oracle数据库,那么在这一节我要写的是系统启动时,自动启动oracle监听和启动oracle数据库。1    写数据库启动和停止脚本[oracle@zjk ~]$ vim shutdown11g#!/bin/bashsource /home/oracle/.db11gsqlplus / as sysdba shutdown immediateEOF

2016-04-21 22:08:30 253

原创 oracle数据库安装2

前面已经介绍了安装oracle数据库的准备工作了,下面就进入正式安装oracle数据库了。1    安装oracle数据库需要的各种依赖挂载系统盘,然后[root@zjk ~]# yum -y install ` cat /tmp/rpm.txt  `[oracle@zjk grid]$ unzip p10404530_112030_Linux-x86-64_3of7.zip

2016-04-21 05:47:47 322

原创 oracle数据库安装1

要想学习oracle,首先必须安装一个oracle数据库。命令行安装数据库是很复杂的一件事。我在这里提供了一种方法可以很方便安装oracle数据库,我使用的系统内核是Linux zjk.com 2.6.39-400.17.1.el6uek.x86_64 #1 SMP Fri Feb 22 18:16:18 PST 2013 x86_64 x86_64 x86_64 GNU/Linux。1

2016-04-19 21:56:11 234

原创 shell脚本学习2

前面已经介绍过shell脚本的基本的使用的方法,在这篇中我将介绍三个字符截取命令cut和awk以及sed命令。1    cut命令cut [选项] 文件名选项:-f 列号: 提取第几列 (列号之间用,分开,列号之间是用制表符分开)-d 分隔符: 按照指定分隔符分割列("分隔符")cut命令与grep命令经常联合使用cut命令默认是以tab制表符为分隔符的2

2016-04-11 22:25:23 301

原创 shell脚本学习1

在工作的时候接触到了shell脚本,不过我没有自己写过,但是又因为当时对shell有了兴趣,所以我就抽了一点时间,来学习shell脚本的语法结构,这里只是基本的shell语法,更高深的在以后可能会接触。一    shell分类1)    Bourne家族:sh,  bash(标准shell),   pshell,  zshell2)    C shell家族:cshell,  tcsh

2016-04-10 13:52:39 282

原创 linux系统命令学习

linux系统是一种免费的,类unix的操作系统。关于linux系统,我只想说两点,第一点就是linux系统是多用户的对线程的系统,也就是说同时可以有多个用户对这个系统进行操作。第二点就是一切设备皆文件。意思就是在linux系统中任何东西都可以对它进行读和写。我觉得这两点是最重要的。linux系统有很多发行版本,比如说Redhat,Debian,ubuntu,Centos,FreeBSD等等多种发

2016-04-08 23:56:20 288

原创 c语言学习----基本篇(下)

前面已经介绍了c语言的一些基本知识,往下就是实战操作了。工欲善其事,必先利其器,在这里我先说说我用的编程工具吧。开发环境介绍:Linux localhost.localdomain 2.6.32-431.el6.x86_64 #1 SMP Sun Nov 10 22:19:54 EST 2013 x86_64 x86_64 x86_64 GNU/Linux编辑器:vimvim的

2016-04-07 22:05:50 245

原创 c语言学习----基本篇(上)

今天是2016年4月7日,是个值得纪念的日子。经过很多天的犹豫,最后还是决定写点东西来帮助自己来回顾之前学习的内容。    我大学的生活是枯燥乏味的,不像其他人那么多姿多彩,虽然我想这么过。大学学的编程语言是c语言,而且考试还是不及格的,真正接触和感兴趣的时候是2014年吧,因为当时要面临第二年的毕业找工作的危机,大家都知道现在找工作是多么的难,找一个称心如意的工作更是难上加难。当时感觉不能在

2016-04-07 10:04:50 429 1

shell脚本学习

这里有一些shell脚本学习的基本语法,还有一些测试用例,可以满足shell学习者前期学习的知识储备。

2016-04-11

空空如也

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

TA关注的人

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