- 《深入理解 Java 中的单例模式(Singleton)》
听风吟丶
单例模式java
在Java编程中,单例模式(Singleton)是一种非常重要的设计模式。它确保一个类只有一个实例,并提供一个全局访问点来获取这个实例。单例模式在很多场景下都有广泛的应用,例如数据库连接池、日志系统、配置文件管理等。本文将深入探讨Java中的单例模式,包括其定义、实现方式、优缺点以及实际应用。一、单例模式的定义与概念单例模式是一种创建型设计模式,它的主要目的是确保一个类只有一个实例,并提供一个全局
- JAVA常见设计模式面试题
黑子先行
设计模式java
一、单例模式java中单例模式是一种常见的设计模式,单例模式的写法有好几种,这里主要介绍三种:懒汉式单例、饿汉式单例、双重检查锁定1.单例模式有以下特点:a、单例类只能有一个实例。b、单例类必须自己创建自己的唯一实例。c、单例类必须给所有其他对象提供这一实例。2.代码特点a、私有静态变量b、私有构造方法c、公有的静态访问方法3.懒汉式publicclassSingleton{privateSing
- 【设计模式】2.深入理解 Java 中的单例模式
sulifer
JAVA讲解设计模式java设计模式单例模式
深入理解Java中的单例模式单例模式(SingletonPattern)是最常见的设计模式之一,它保证在整个应用程序的生命周期中,某个类只有一个实例存在,并且提供一个全局访问点。单例模式适合那些需要在系统中被频繁访问且只需一个实例的对象,例如日志类、配置管理类、数据库连接池等。一、单例模式的核心思想唯一性:类只有一个实例存在,所有调用者都共享这个实例。全局访问:提供一个全局的访问点,任何地方都可以
- SpringBoot 知识图谱
xoxo-Rachel
javaspringboot开发语言
预警:本文非常长,建议先mark后看,也许是最后一次写这么长的文章说明:前面有4个小节关于Spring的基础知识,分别是:IOC容器、JavaConfig、事件监听、SpringFactoriesLoader详解,它们占据了本文的大部分内容,虽然它们之间可能没有太多的联系,但这些知识对于理解SpringBoot的核心原理至关重要,如果你对Spring框架烂熟于心,完全可以跳过这4个小节。正是因为这
- springboot整合Mybatis-plus开发的后台管理系统
理查德.克莱德曼
SpringBootLayuispringbootjava后端
项目介绍一款Java语言基于SpringBoot2、Layui、Thymeleaf、MybatisPlus、Shiro、MySQL等框架精心打造的一款模块化、插件化、高性能的前后端分离架构敏捷开发框架,可用于快速搭建后台管理系统,本着简化开发、提升开发效率的初衷,框架自研了一套个性化的组件,实现了可插拔的组件式开发方式:单图上传、多图上传、下拉选择、开关按钮、单选按钮、多选按钮、图片裁剪、富文本编
- Maven插件管理的基本原理
码到π退休
Javamavenjava
博主简介:CSDN博客专家,历代文学网(PC端可以访问:https://literature.sinhy.com/#/?__c=1000,移动端可微信小程序搜索“历代文学”)总架构师,15年工作经验,精通Java编程,高并发设计,Springboot和微服务,熟悉Linux,ESXI虚拟化以及云原生Docker和K8s,热衷于探索科技的边界,并将理论知识转化为实际应用。保持对新技术的好奇心,乐于分
- 【中间件】redis简单使用
新手且笨蛋37
中间件redis中间件linux
文章目录环境需求1.系统2.环境安装1.安装步骤2.路径和文件后台启动1.修改配置文件2.后台启动3.查看状态关闭1.杀掉进程2.单实例关闭基本指令redisjavaredis.conf解读springboot整合1.依赖2.application.yml3.配置类常见错误环境需求1.系统Linux系统和windows都可以,windows的资源自行到github上下载,linux的可到redis
- 五年后端开发,仅考这份面试题和答案,成功涨薪到30k!!!
独孤球球
java面试jvm
个人认为,对于Java面试以及进阶的最佳学习方法莫过于刷题+博客+书籍+总结,前三者我将淋漓尽致地挥毫于这篇文章中,至于总结在于个人,实际上越到后面你会发现面试并不难,其次就是在刷题的过程中有没有去思考,刷题只是次之,这又是一个层次了,这里暂时不提后面再谈。总结了一系列大厂面试中常问的面试技术点,深入解析以及答案,将为最近准备面试的各开发者去大厂保驾护航,何谓面试?所理解的面试,它是一个过程,是不
- JDK17的GC调优策略
恶语伤人六月寒
jvm内存模型java
GC垃圾回收器是JVM中最标志性的一个功能特性。而GC的性能极大程度决定了整个JAVA程序执行的性能。因此,对整个JVM调优或许难度太大,但是对GC进行调优,是每个JAVA程序员都应该掌握的技能。一、JVM有哪些参数可以调?我们先来回顾一下JDK17中有哪些参数可以调。关于JVM的参数,JVM提供了三类参数。一类是标准参数。以-开头,所有HotSpot都支持。例如java-version。这类参数
- 黑马JavaWeb开发笔记01——前端介绍,HTML实现标题:排版
Cosmos复调
前端html开发语言笔记软件工程webjava
文章目录前言一、认识web前端、HTML、CSS二、VSCode开发工具(插件弃用问题)三、HTML结构标签介绍1.标签页标题2.图片标签1)常见属性2)src路径书写方式3.标题标签4.水平分页线标签四、用Vscode实现标题排版1.创建文件2.初始化一下html文件3.仿照新浪新闻元素编写标签五、完整源码和实现效果总结前言本篇文章是2023年最新黑马JavaWeb开发笔记01:前端介绍、htm
- 深入探索 JavaScript 异步编程:从回调到 Promise 再到 async/await
typescript
在现代Web开发中,异步编程是不可或缺的一部分。JavaScript作为单线程语言,通过异步机制来处理I/O操作、网络请求等耗时任务,避免阻塞主线程,提升用户体验。本文将深入探讨JavaScript异步编程的演进历程,从最基础的回调函数,到Promise对象,再到最新的async/await语法,帮助开发者更好地理解和使用异步编程。回调函数:异步编程的起点在JavaScript异步编程的早期,回调
- 调试工具有哪些?盘点开发者常用的几款
调试
常用的调试工具主要包括:ChromeDevTools、Postman、Fiddler、VisualStudioDebugger、Firebug、Charles、Wireshark等。其中,ChromeDevTools以其强大的功能、友好的用户界面和便捷的使用体验,成为全球开发者首选的Web前端调试工具之一。ChromeDevTools提供了实时编辑、性能分析、网络监控、JavaScript调试等多
- 【2025最新Java八股】redis中io多路复用怎么回事,和多线程的关系
尤物程序猿
javaredis开发语言
io多路复用IO多路复用和多线程是两种不同的技术,他们都是用于改善程序在处理多个任务或多个数据流时的效率和性能的。但是他俩要解决的问题不一样!IO多路复用主要是提升I/O操作的效率和利用率,所以适合IO密集型应用。多线程则是提升CPU利用率的方法,所以适合CPU密集型应用。在传统的阻塞式I/O模型中,应用程序在执行I/O操作(如读取网络数据)时,如果数据未准备好,线程会被阻塞,直到I/O操作完成。
- 深入解析进程与线程:区别、联系及Java实现
PHASELESS411
java开发语言
引言在现代操作系统中,进程和线程是并发编程的两大核心概念。理解它们的区别与联系对开发高性能、高可靠性的程序至关重要。本文将通过原理分析和Java代码示例,深入探讨这两个关键概念。一、基本概念1.1进程(Process)定义:操作系统资源分配的基本单位特征:独立的内存空间(堆、栈、数据段)包含至少一个执行线程通过IPC(进程间通信)交互生命周期:创建->就绪->运行->阻塞->终止进程内存结构图+-
- [通过jenkins进行部署java程序到centos上] 1.rz文件上传 2.zip压缩 3.rz下载 4.备份jenkins 5.dos2unix
JavaGameServer
#shell写工具链#jenkinsjava
一、1.通过jumpserver访问到centos上,准备下java环境//step1:先编辑下vim/etc/profile//step2:编写好环境变量JAVA_HOME=/usr/local/javaexportJAVA_HOMEexportZOOKEEPER_HOME=/opt/zookeeper/apache-zookeeper-3.7.0-binPATH=$PATH:$JAVA_HOM
- 轻松学Java-入门教程eclipse及排错
技术职场教练
Java工作常用java开发语言后端个人开发程序人生
目标:用两种方式实现Java运行屏幕输出提示:省略配置Java环境变量屏幕打印输出“HelloWorld!”第一种:传统文本文档编写1、在此目录创建一个txt文本文档插入内容:注意,保持英文,不要少空格及符号publicclassHelloWorld{publicstaticvoidmain(String[]args){<
- Java实现 LeetCode 474 一和零
南 墙
LeetCodeJava一和零
474.一和零在计算机界中,我们总是追求用有限的资源获取最大的收益。现在,假设你分别支配着m个0和n个1。另外,还有一个仅包含0和1字符串的数组。你的任务是使用给定的m个0和n个1,找到能拼出存在于数组中的字符串的最大数量。每个0和1至多被使用一次。注意:给定0和1的数量都不会超过100。给定字符串数组的长度不会超过600。示例1:输入:Array={“10”,“0001”,“111001”,“1
- 什么是轮播图?如何实现轮播图?有几种方法
惠赢的
前端
轮播图(Carousel)是一种常见的网页组件,用于在一个区域内循环显示多张图片或内容,通常配有导航按钮、指示器等,使用户能够方便地浏览不同的内容。如何实现轮播图?实现轮播图的方法有多种,下面介绍几种常见的方法:1.基于CSS和JavaScript的手动轮播HTML结构:Slide1Slide2Slide3❮❯CSS样式:.carousel{position:relative;overflow:h
- Vue 组件化开发
惠赢的
vue.js
引言在当今的Web开发领域,构建一个功能丰富且用户体验良好的博客是许多开发者的目标。Vue.js作为一款轻量级且高效的JavaScript框架,其组件化开发的特性为我们提供了一种优雅的解决方案。通过将博客拆分成多个独立的组件,我们可以提高代码的可维护性、可复用性和可测试性,从而打造出高质量的博客应用。什么是Vue组件化开发Vue组件化开发是将一个复杂的应用拆分成多个小的、独立的组件,每个组件负责特
- 基于Java的科大讯飞大模型API调用实现
小希与阿树
java开发语言
写在前面:因为现在自己实习的公司新拓展的一个业务是结合AI的低代码平台,我负责后端的开发,之前一直都是直接使用gpt或者文心一言等ui界面来直接使用大模型,从来没有自己调接口过,所以本文记录一下自己第一次使用大模型的心得,小趴菜一个,大佬们勿喷~~源码:llm_-api_-demo:科大讯飞大模型API调用实例代码(gitee.com)正文:在调用模型API接口前,必须要使用到对应的大模型,我用的
- GitHub万星实测:5大AI代码工具生成Java质量对比(附正确率排名)
互联网
引言:AI重塑编程生态,工具选择成关键在AI技术革新的浪潮中,编程工具正经历着从辅助到主导的跨越式发展。据2024年StackOverflow开发者报告显示,62%的开发者已将AI工具融入工作流,但市场上工具同质化严重,如何选择最适合的工具成为开发者新挑战。本文精选五款主流AI代码生成工具,深度解析其核心能力,为开发者提供选型参考。一、飞算JavaAI:Java开发的“全流程智能引擎”核心亮点1.
- JVM调优真香警告:AI生成G1参数配置方案,堆内存利用率飙升40%
互联网
在Java应用程序的开发与运行过程中,Java虚拟机(JVM)的性能调优一直是一项极具挑战性的任务,尤其是内存优化方面。不合适的JVM内存配置可能会导致应用程序出现性能瓶颈,甚至频繁抛出内存溢出异常,影响业务的正常运行。而飞算JavaAI的出现,为解决JVM调优难题带来了新的曙光,它能够自动生成内存优化方案,让JVM调优变得不再困难。一、JVM内存调优的难点1、复杂的内存模型JVM的内存模型由多个
- java优雅实现判空逻辑-工具类使用
迈巴鹤
javajava后端开发语言
在写代码过程中,最常见的就是对对象的判空,一不小心就会抛出NullPointerException空指针异常,被大佬训斥一番,提醒下次要注意代码的健壮性。代码判空常见并且写法不一,java常用的jar包对常见的判空逻辑提供了工具类,提高代码的健壮性和统一性。新手常见的写法举例创建一个list集合,Listlist=newArrayList<>(),进过业务逻辑处理,最终将对象放到list中。然后想
- Java 泛型使用教程
java
简介Java泛型是JDK5引入的一项特性,它提供了编译时类型安全检测机制,允许在编译时检测出非法的类型。泛型的本质是参数化类型,也就是说所操作的数据类型被指定为一个参数。泛型的好处:编译期检查类型安全避免强制类型转换(cast)代码更通用,更易重用泛型的基本使用泛型类publicclassBox{privateTcontent;publicvoidset(Tcontent){this.conten
- MyBatis动态SQL解放双手!AI自动生成复杂查询代码(效率提升300%)
代码优化
在Java企业级应用开发中,MyBatis作为一款轻量级的ORM框架,凭借其灵活性和对SQL的精准控制能力,始终占据重要地位。然而,随着业务复杂度的提升,开发者不得不面对MyBatis动态SQL的编写难题——条件分支嵌套、重复代码臃肿、维护成本高等问题频发。如何将开发者从繁琐的SQL拼接中解放出来?飞算JavaAI以智能化的代码生成能力,为这一问题提供了颠覆性的解决方案。一、MyBatis动态SQ
- 取类 Class 对象详解
清风拂山感
java开发语言
在Java中,即使一个类还没有被显式地实例化(即没有创建该类的对象),你仍然可以通过类字面量来获取该类的Class对象。这是因为Java在类加载机制中,会在类被引用时(例如通过类字面量)加载该类,并初始化其相关的元数据。以下是一些获取类Class对象的方法,即使该类还没有被实例化:常见方法使用类字面量:Classclazz=MyClass.class;使用Class.forName方法:try{C
- JavaScript 函数式编程
函数式编程FunctionalProgramming什么是函数式编程函数式编程是一种方案简单、功能独立、对作用域外没有任何副作用的编程范式(paradigms):INPUT->PROCESS->OUTPUT。函数式编程:1)功能独立——不依赖于程序的状态(比如可能发生变化的全局变量);2)纯函数——同一个输入永远能得到同一个输出;3)有限的副作用——可以严格地限制函数外部对状态的更改。函数式编程中
- JavaScript 面向对象编程
面向对象编程ObjectOrientedProgramming面向对象编程用对象把数据和方法聚合起来。面向对象编程的优点能写出模块化的代码能使得代码更灵活能提高代码的可重用性面向对象编程的原则继承(inheritance):子类/派生类从父类/基类/超类中派生,形成继承结构封装(encapsulation):代码的实现对用户不可见,例如调用toUpperCase(),直接调用即可,不用考虑函数内部
- JavaScript 和浏览器
前端javascript
模块参见ES6部分DOM参见Web相关部分选择器document.querySelector()来获取网页的对应HTML元素document.querySelectorAll()来获取网页的所有对应HTML元素document.getElementById()根据ID获取元素document.getElementsByClassName()根据类名获取元素document.getElementsB
- JavaScript 笔记
前端javascript
JavaScript简介JavsScript于1995年由BrendanEich用时10天写出,用于网景浏览器。最初的名字叫LiveScript,也被部分员工称为Mocha。那时Java语言很流行,出于商业化的考量,更名为JavaScript,但两者之间没有关联。最早的JS作为脚本语言给浏览器增加一些诸如鼠标跟随等交互性特效,通过在HTML中添加元素实现。1996年网景和ECMA达成了协议,起草J
- 基本数据类型和引用类型的初始值
3213213333332132
java基础
package com.array;
/**
* @Description 测试初始值
* @author FuJianyong
* 2015-1-22上午10:31:53
*/
public class ArrayTest {
ArrayTest at;
String str;
byte bt;
short s;
int i;
long
- 摘抄笔记--《编写高质量代码:改善Java程序的151个建议》
白糖_
高质量代码
记得3年前刚到公司,同桌同事见我无事可做就借我看《编写高质量代码:改善Java程序的151个建议》这本书,当时看了几页没上心就没研究了。到上个月在公司偶然看到,于是乎又找来看看,我的天,真是非常多的干货,对于我这种静不下心的人真是帮助莫大呀。
看完整本书,也记了不少笔记
- 【备忘】Django 常用命令及最佳实践
dongwei_6688
django
注意:本文基于 Django 1.8.2 版本
生成数据库迁移脚本(python 脚本)
python manage.py makemigrations polls
说明:polls 是你的应用名字,运行该命令时需要根据你的应用名字进行调整
查看该次迁移需要执行的 SQL 语句(只查看语句,并不应用到数据库上):
python manage.p
- 阶乘算法之一N! 末尾有多少个零
周凡杨
java算法阶乘面试效率
&n
- spring注入servlet
g21121
Spring注入
传统的配置方法是无法将bean或属性直接注入到servlet中的,配置代理servlet亦比较麻烦,这里其实有比较简单的方法,其实就是在servlet的init()方法中加入要注入的内容:
ServletContext application = getServletContext();
WebApplicationContext wac = WebApplicationContextUtil
- Jenkins 命令行操作说明文档
510888780
centos
假设Jenkins的URL为http://22.11.140.38:9080/jenkins/
基本的格式为
java
基本的格式为
java -jar jenkins-cli.jar [-s JENKINS_URL] command [options][args]
下面具体介绍各个命令的作用及基本使用方法
1. &nb
- UnicodeBlock检测中文用法
布衣凌宇
UnicodeBlock
/** * 判断输入的是汉字 */ public static boolean isChinese(char c) { Character.UnicodeBlock ub = Character.UnicodeBlock.of(c);
- java下实现调用oracle的存储过程和函数
aijuans
javaorale
1.创建表:STOCK_PRICES
2.插入测试数据:
3.建立一个返回游标:
PKG_PUB_UTILS
4.创建和存储过程:P_GET_PRICE
5.创建函数:
6.JAVA调用存储过程返回结果集
JDBCoracle10G_INVO
- Velocity Toolbox
antlove
模板toolboxvelocity
velocity.VelocityUtil
package velocity;
import org.apache.velocity.Template;
import org.apache.velocity.app.Velocity;
import org.apache.velocity.app.VelocityEngine;
import org.apache.velocity.c
- JAVA正则表达式匹配基础
百合不是茶
java正则表达式的匹配
正则表达式;提高程序的性能,简化代码,提高代码的可读性,简化对字符串的操作
正则表达式的用途;
字符串的匹配
字符串的分割
字符串的查找
字符串的替换
正则表达式的验证语法
[a] //[]表示这个字符只出现一次 ,[a] 表示a只出现一
- 是否使用EL表达式的配置
bijian1013
jspweb.xmlELEasyTemplate
今天在开发过程中发现一个细节问题,由于前端采用EasyTemplate模板方法实现数据展示,但老是不能正常显示出来。后来发现竟是EL将我的EasyTemplate的${...}解释执行了,导致我的模板不能正常展示后台数据。
网
- 精通Oracle10编程SQL(1-3)PLSQL基础
bijian1013
oracle数据库plsql
--只包含执行部分的PL/SQL块
--set serveroutput off
begin
dbms_output.put_line('Hello,everyone!');
end;
select * from emp;
--包含定义部分和执行部分的PL/SQL块
declare
v_ename varchar2(5);
begin
select
- 【Nginx三】Nginx作为反向代理服务器
bit1129
nginx
Nginx一个常用的功能是作为代理服务器。代理服务器通常完成如下的功能:
接受客户端请求
将请求转发给被代理的服务器
从被代理的服务器获得响应结果
把响应结果返回给客户端
实例
本文把Nginx配置成一个简单的代理服务器
对于静态的html和图片,直接从Nginx获取
对于动态的页面,例如JSP或者Servlet,Nginx则将请求转发给Res
- Plugin execution not covered by lifecycle configuration: org.apache.maven.plugin
blackproof
maven报错
转:http://stackoverflow.com/questions/6352208/how-to-solve-plugin-execution-not-covered-by-lifecycle-configuration-for-sprin
maven报错:
Plugin execution not covered by lifecycle configuration:
- 发布docker程序到marathon
ronin47
docker 发布应用
1 发布docker程序到marathon 1.1 搭建私有docker registry 1.1.1 安装docker regisry
docker pull docker-registry
docker run -t -p 5000:5000 docker-registry
下载docker镜像并发布到私有registry
docker pull consol/tomcat-8.0
- java-57-用两个栈实现队列&&用两个队列实现一个栈
bylijinnan
java
import java.util.ArrayList;
import java.util.List;
import java.util.Stack;
/*
* Q 57 用两个栈实现队列
*/
public class QueueImplementByTwoStacks {
private Stack<Integer> stack1;
pr
- Nginx配置性能优化
cfyme
nginx
转载地址:http://blog.csdn.net/xifeijian/article/details/20956605
大多数的Nginx安装指南告诉你如下基础知识——通过apt-get安装,修改这里或那里的几行配置,好了,你已经有了一个Web服务器了。而且,在大多数情况下,一个常规安装的nginx对你的网站来说已经能很好地工作了。然而,如果你真的想挤压出Nginx的性能,你必