java
一只java程序员
毕业于甘肃政法大学,18年开始学习java编程,19年从事于北京一互联网公司。
展开
-
JavaScript学习之一
JavaScript概述JavaScript:是脚本语言,由客户端的浏览器解释执行。所有现代的 HTML 页面都使用 JavaScript,可以用于改进设计、验证表单、检测浏览器、创建cookies等。主要实现:表单客户端验证(格式验证),页面的动态特效JavaScript 可以做什么?所有现代的 HTML 页面都使用 JavaScript,可以用于改进设计、验证表单、检测浏览器、创建cookies等。主要实现:表单客户端验证(格式验证),页面的动态特效如:改变HTML内容改原创 2020-07-28 16:44:19 · 102 阅读 · 0 评论 -
java面试题大全
JAVA基础JAVA中的几种基本类型,各占用多少字节?下图单位是bit,非字节 1B=8bitString能被继承吗?为什么?不可以,因为String类有final修饰符,而final修饰的类是不能被继承的,实现细节不允许改变。平常我们定义的String str=”a”;其实和String str=new String(“a”)还是有差异的。前者默认调用的是String.valueOf来返回String实例对象,至于调用哪个则取决于你的赋值,比如String num=1,调用的是public s原创 2020-07-28 16:32:07 · 429 阅读 · 0 评论 -
java笔试题之一
Java考试题一:单选题下列哪一种叙述是正确的(D )A. abstract修饰符可修饰字段、方法和类B. 抽象方法的body部分必须用一对大括号{ }包住C. 声明抽象方法,大括号可有可无D. 声明抽象方法不可写出大括号如下代码public class Test {public int aMethod() {static int i = 0;i++;return i;}public static void main (String args[]) {Test test原创 2020-07-28 16:25:02 · 1538 阅读 · 0 评论 -
Spring Cloud工作流程
原创 2020-07-28 16:12:14 · 587 阅读 · 0 评论 -
java学习之架构发展历程
原创 2020-07-28 16:09:46 · 140 阅读 · 0 评论 -
oracle数据库学习笔记
一、基本信息及命令1.Oracle数据库需要启动的服务:OracleServiceSID(数据库名)主服务OracleTnsListener 监听器2.连接数据库:1)SQLPlus2)SQL Developer3)PL/SQL Developer3.SID:4.数据库命令:命令注释: –显示当前用户:show 用户名切换用户:connect 另一用户名conn sys as sysdba新建账户:create user 用户名 identified by 口令修改密码原创 2020-07-28 16:04:54 · 254 阅读 · 0 评论 -
java项目管理工具 maven
项目管理工具maven1maven介绍1.1maven是什么maven翻译为“专家”,“内行”。Maven是Apache下的一个纯java开发的开源项目,它是一个项目管理工具,使用maven对java项目进行构建、赖依管理。当前使用Maven的项目在持续增长。1.2什么是项目构建项目构建是一个项目从:源代码、编译、测试、打包、部署、运行的过程1.2.1传统项目构建过程传统的使用eclipse构建项目的过程如下:构建过程如下:1)在eclipse中创建一个java web工程2)在工程中原创 2020-07-28 16:02:12 · 1297 阅读 · 0 评论 -
nginx安装(linux命令安装)
负载均衡以及图片服务器配置1.由于nginx是c语言写的,安装nginx之前需要需要安装依赖库yum install gcc-c++yum install -y pcre pcre-develyum install -y zlib zlib-develyum install -y openssl openssl-devel在nginx-1.14.2中执行 ./configure --prefix=/usr/app/nginx会出现Makefile 然后执行 make && m原创 2020-07-28 15:48:12 · 174 阅读 · 0 评论 -
Java框架之SpringMVC
SpringMvc简介:Spring MVC 是一个基于Java的实现了MVC设计模式的请求驱动类型的轻量级Web框架,通过基于Model,View,Controller分离,将web层进行职责解耦,把复杂的web应用分成逻辑清晰的几部分,简化开发,方便组内开发人员之间的配合。SpringMVC的流程:1)用户发送请求至前端控制器DispatcherServlet;2)DispatcherServlet收到请求后,调用HandlerMapping处理器映射器,请求获取Handle;3)处理器映射器原创 2020-07-28 14:58:00 · 320 阅读 · 0 评论 -
Java面试之JDBC操作流程
JDBC编程流程步骤JDBC:Java Data Base ConnectionJDBC是用于运行sql语句并从数据库中获取新新的java API.JDBC是用来(让我们的程序)通过网络来操作数据库的,作用非常重要;JDBC技术也是Java核心技术之中的一个。是使用JDBC驱动程序訪问数据库的首选方式通过JDBC操作数据库——步骤:第1步:注冊驱动 (仅仅做一次)第2步:建立连接(Connection)第3步:创建运行SQL的语句(Statement)第4步:运行语句第5步:处理运行结原创 2020-07-28 12:50:56 · 396 阅读 · 0 评论 -
Java面试之框架篇-Springboot面试小结
SpringBoot框架:***SpringBoot是Spring4. 0之后的一个自动配置,快速启动的框架。采用习惯优于配置的理念,可以进行自动化配置的EnableAutoConfigration,框架采用注解+properties代替传统的XML的配置,极大的提高了开发效率。SpringBoot的优点:1)快速创建项目;2)对主流开发框架的无配置集成;3)项目可独立运行,无需外部依赖Servlet容器;4)提供运行时的应用监控;5)极大的提高了开发,部署效率;6)与云计算天然集成。S.原创 2020-07-28 12:35:25 · 278 阅读 · 0 评论 -
简述synchronized和volatile的区别
1)volatile本质是在告诉jvm当前变量在寄存器中的值是不确定的,需要从主从中读取;synchronized是锁住当前变量,只有当前线程可以访问该变量,其他变量被阻塞。2)volatile仅使用在变量级别,synchronized可以修饰变量、方法。3)volatile仅能实现变量的修改可见性;而synchronized可以保证变量的修改可见性和原子性。4)volatile不会造成线程的阻塞;synchronized可能会。5)volatile标记不会编译器优化;而synchronized标记原创 2020-07-27 15:44:07 · 950 阅读 · 0 评论 -
简述synchronized和lock锁的区别
1)Lock锁可以实现synchronized锁的所有功能。2)lock锁是通过代码实现的,而synchronized锁则是在JVM层面上实现的。3)synchronized会自动释放锁,而lock一定要手动释放,并且必须在finally从句中。4)lock锁的范围是块,而synchronized可以锁住块、对象、类。...原创 2020-07-27 15:33:10 · 264 阅读 · 0 评论 -
java编程之相关排序算法(冒泡、插入、选择)
一.冒泡排序(来自<java语言程序设计(进阶篇)> --梁勇)1.排序思想及特点多次遍历数组,在每次比较中,比较连续相邻的元素,如果某一对元素是降序,则交换他们的顺序,否则保持不变,直到所有的元素排序完毕最好时间复杂度:O(n)最坏时间复杂度:O(n²)空间复杂度:O(1)稳定性:稳定2.优缺点优点:简单,空间复杂度优秀缺点:速度慢3.适用场景元素较少且数组基本有序的场景4.示例代码public class BubbleSort {public static vo原创 2020-07-26 22:35:39 · 235 阅读 · 0 评论 -
java项目开发的生命周期
软件(项目)开发的流程(4-12个月)1:需求分析阶段(产品经理、需求分析师),整理出需求分析文档(axure制作原型图)2:概要设计和详细设计阶段(概要设计或详细设计文档)(项目经理、架构师)(uml建模,rose)3:ui设计人员设计产品的高保真图片以上三步占据生命周期1/4----1/3的时间4:前端开发人员(HTML5、安卓、IOS)开始制作静态网页或手机app页面5:后台开发人员(架构师、技术经理、java软件工程师)设计数据库(powerdesigner、EA)6:框架选型阶段(架原创 2020-07-26 22:32:40 · 2869 阅读 · 0 评论 -
java面试之调优篇(JVM、数据库、tomcat)
调优篇1.jvm调优1.1堆分为新生代和老年代新生代主要存放的是新创建的对象,新生代主要是采用复制算法进行minorGC,老年代存放的是在新生代阶段被多次gc回收还没有回收掉的对象,老年代也会进行垃圾回收gc(majorGC),采用的是标记-整理算法,老年代进行GC的时候会造成一个应用程序线程中断的效果,会影响到应用程序的性能.jvm提供了很多种垃圾回收策略,垃圾回收器 CMS、G1(采用多线程进行GC)1.2什么时候对象可以进行垃圾收集??1:引入计数法 (解决不了循环引用的问题)(早期原创 2020-07-26 22:23:18 · 307 阅读 · 0 评论 -
java面试之shiro框架(权限控制)
Shiro是apache旗下的权限控制框架,有四大核心:认证器(authenticator)、授权器(Authorizer)、会话管理中心(sessionManager)、密码管理器(Cryptography)在项目当中我们使用shiro的时候,需要配置shirFilter、指定securityManager、登录url、非法访问的url、权限过滤规则等等,认证和授权通过自定义Realm,重写dogetAuthentication,登录认证方法以及dogetAuthorization方法,授权方法。s原创 2020-07-26 22:05:22 · 775 阅读 · 0 评论 -
Mybatis入门程序
5.1.数据库表结构两个表的区别就是多个单词组成的列名之间是否有下划线5.2.工程搭建创建maven的jar项目5.2.2.添加依赖jar–pom.xml<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://ma原创 2020-07-25 20:24:43 · 110 阅读 · 0 评论 -
Mybatis培训笔记
Mybatis课堂笔记1.学习内容SSM三大框架: Spring SpringMVC Mybatis (ibatis)—daoSSH框架: Spring Struts Hibernate2.什么是框架?半成品,前辈程序员写好现成的类提供我们直接使用。3.使用JDBC的问题1、数据库连接,使用时就创建,不使用立即释放,对数据库进行频繁连接开启和关闭,造成数据库资源浪费,影响数据库性能。解决方案:连接池2、将sql语句硬编码到java代码中,如果sql 语句修改,需要原创 2020-07-25 20:14:52 · 187 阅读 · 0 评论 -
JVM的工作原理以及体系结构
JVM原理:运行JVM字符码的工作是由解释器完成的。解释执行的分为3步:代码的装入、代码校验、代码执行。装入代码的工作是由类加载器ClassLoader完成。类加载器负责装入运行一个程序的所有代码,包括代码中的类所继承和被调用的类。被装入的代码由字节码校验器进行校验。通过校验后,代码便开始执行。JVM的体系机构:...原创 2020-07-25 20:08:59 · 123 阅读 · 0 评论 -
Session和cookie的区别及其使用场景
1)session存储在服务器端,cookie以文本格式存储在浏览器端;2)session对数据量具体无限制,cookie只存储4kb数据;3)考虑到安全性,可以使用session;4)cookie可设置有效时间使其过期失效,session则需要调用destroy()方法来销毁。二者应用场景:cookie用来记住已登录用户的用户名和密码,以便下一次登录。session用来保存用户的登录,以便后面的权限确认。...原创 2020-07-25 19:26:25 · 647 阅读 · 0 评论 -
Servlet生命周期及原理图
Servlet生命周期:加载、实例化、初始化、服务、销毁当客户发起第一次请求时,首先web容器会判断是否存在Servlet对象,若不存在,则由web容器创建Servlet对象,而后调用initial()方法初始化Servlet对象,在Servlet整个生命周期,只调用一次init()方法。完成对Servlet对象的创建和实例化之后,web容器调用Servlet对象的Service()方法处理请求;当web容器关闭或者Servlet对象要在容器中被销毁时调用destroy()方法进行销毁。原理图如下原创 2020-07-25 19:18:21 · 411 阅读 · 0 评论 -
同步与异步的区别
同步请求:同步请求会使客户端处于阻塞状态,直至服务端响应完毕,基本上所有的请求都是同步请求,类似于打电话异步请求:异步请求不会使客户端处于阻塞,把请求发出去,然后服务端响应之后会进行异步回调把数据传送给客户端,类似于寄信。ajax请求就是异步请求,用来局部刷新,隐形请求...原创 2020-07-25 18:54:32 · 77 阅读 · 0 评论 -
jsp学习笔记
1.JSTL和EL是jsp中最核心的技术。在jsp2.0之后出现的技术,目的是去掉所有的小脚本<%%>1.1.EL表达式1.1.1.格式${表达式语言}1.1.2.作用取值输出:可以在4个作用域对象和请求对象中取值,输出到浏览器;使用el表达式替换<%= %>。1.1.3.常量在el表达式中使用””双引号或者单引号’’1.1.4.运算符算数运算符: + - * /关系运算符: >gt < lt ==eq >= ge <=l原创 2020-07-24 19:56:46 · 428 阅读 · 0 评论 -
基于java的在线音乐点播系统
**项目源码下载:**https://download.csdn.net/download/qq_41117551/12652704项目简介:开发语言:JAVA,jsp框架:SSM数据库:MySQL前段框架:EasyUI环境:JDK1.8 + Eclipse + Tomcat8思路:项目后台采用SSM框架,前端用到了jQuery,ajax技术,EasyUI框架。网站前台展示用JSP作为数据模板的渲染引擎。在Controller层通过返回ModelAndView和一些数据列表,再由JSTL标原创 2020-07-24 19:47:41 · 1674 阅读 · 1 评论 -
设计模式以及java面向对象设计
设计模式:概念:是一套被反复使用,同时多人知晓,经过分类,代码设计的经验总结。目的:为了代码可重用,更容易被他人理解。小结:设计模式是软件工程的基石,如大厦的结构。设计模式之简单工厂模式概念:简单工厂模式属于一种创建型模式,也可以叫静态工厂方法模式。(Static Factory Method Design)简单工厂模式是工厂模式家族中最实用的模式。是由一个工厂对象决定创建出哪一种产品类的实例。简单过程: 客户端传一个条件进工厂类,工厂类根据条件创建相应的产品类对象,把这个产品对象返回原创 2020-07-24 19:23:11 · 105 阅读 · 0 评论 -
java面试题之框架篇
框架篇0.框架是什么东西?框架是一组抽象封装的设计,是一种软件半成品,程序员必须得遵守框架的api,配置配置文件和遵循代码规范,极高的提高了开发效率.1.Spring(Spring是一个轻量级的控制反转(IoC)和面向切面(AOP)的容器框架)1.1 spring的特性?谈谈你对spring的理解?spring用来干嘛?spring有两大核心:IOC:(通常在项目中手动new创建对象,这不利于对象管理,现在将创建对象的权利反转给spring容器)依赖注入:spring容器在实例化对象的时候,原创 2020-07-23 17:25:01 · 236 阅读 · 0 评论 -
线程最全状态图片
线程的各个状态及相关方法:1.新建状态: (new) 新创建了一个线程对象2.就绪状态 : (Runnable) 线程对象创建后,其它的线程调用了该对象的start().该状态的线程位于可运行的线程池中,只要变得可运行,等待获取cpu的使用权3.运行状态 (Running) : 获取了cpu,执行程序代码4.阻塞状态 (Blocked) : 是指因为某种原因放弃了cpu的使用权,暂时停止运行状态,直到线程进入就绪状态,才有机会得到运行。...原创 2020-07-23 01:12:26 · 398 阅读 · 0 评论 -
java集合框架图
List、Set、Map特征:List:有序,可重复Set:无序,不可重复Map:key-value配对,根据key找到对应的value.Collection:List: ArrayList、LinkedList、Vector、CopyOnRightArrayListSet:HashSet、TreeSet.Map:HashMap、HashTable、TreeMap.List接口的使用:语法:List list=new ArrayList();常见方法:add(Object o);添加元原创 2020-07-23 01:03:50 · 104 阅读 · 0 评论 -
Stringbuilder与Stringbuffer的区别
StringBuffer类:是一个字符缓冲类。特征:不浪费内存空间,当实现字符串拼接时,可以很好的实现扩容。用法:StringBuffer s=new StringBuffer(); //括号里放的是String类型。是往缓冲区放入制定的String内容。方法:append();追加insert(); 插入delete(); 删除StringBuffer与StringBuilder的区别:1)二者的父类为Object。2)Buffer带缓冲区,速度比较慢,属于重量级别,线程安全原创 2020-07-23 00:52:28 · 2122 阅读 · 0 评论 -
java常见基础面试题-一
1.jdk jre jvm三者之间的关系java开发者工具包 java运行环境 java虚拟机jdk>>jre>>jvm2.面向对象(oop)面向对象是对面向过程的封装,封装了类的属性和方法3.对象创建的过程对象创建之前,首先类被加载(先加载父类再加载子类),执行静态代码块,执行构造器((先构造父类再构造子类)),创建对象实例静态方法和类有关,直接使用类名.方法来进行调用4.java的反射机制当类加载器将类加载进jvm之后,jvm会创建每一个类的元数据对象(C原创 2020-07-21 17:39:32 · 95 阅读 · 0 评论 -
java开发工具介绍
java开发有两种工具:idea(现在主流的工具,在项目源文件中有.idea的是idea的源文件)eclipse (现在主要在学习时用到,在项目源文件中存在.setting文件)原创 2020-07-21 17:36:22 · 167 阅读 · 0 评论 -
两种单例模式的介绍以及区别,java实现
单例模式(只能产生一个对象:懒汉模式和饿汉模式)步骤:1)将默认构造方法私有化。2)在类中定义一个当前类的一个静态属性,并创建当前类的对象。3)提供一个静态的对外公开的方法,返回当前类的静态属性的对象。(1)懒汉模式:1)创建一个静态的当前类的一个属性,赋予当前类的对象。2)私有化构造方法3)对外提供一个静态的公开方法,返回当前类的实例。(2)饿汉模式:1)私有化一个静态属性,类的对象。2)私有化构造方法3)产生静态对外公开方法,返回对象。懒汉模式和饿汉模式的区别:对象创建的时间原创 2020-07-21 17:02:54 · 373 阅读 · 1 评论 -
java程序员的经验与文件的分享
这里写自定义目录c标题欢迎使用Markdown编辑器新的改变功能快捷键合理的创建标题,有助于目录的生成如何改变文本的样式插入链接与图片如何插入一段漂亮的代码片生成一个适合你的列表创建一个表格设定内容居中、居左、居右SmartyPants创建一个自定义列表如何创建一个注脚注释也是必不可少的KaTeX数学公式新的甘特图功能,丰富你的文章UML 图表FLowchart流程图导出与导入导出导入欢迎使用Markdown编辑器你好! 这是你第一次使用 Markdown编辑器 所展示的欢迎页。如果你想学习如何使用Ma原创 2020-07-21 16:30:21 · 101 阅读 · 0 评论