- Jenkins 不同节点间文件传递:跨 Job 与 同 Job 的实现方法
在日常的DevOps运维实践中,Jenkins通常被用于串联多个自动化流程,而这些流程往往需要在不同的构建节点(agent)上执行。例如,在以下场景中:场景需求描述(实际问题)最近在一次部署任务中,我遇到这样一个需求:Jenkins的a节点执行某些命令或脚本,生成一个临时文件或构建产物;然后需要b节点获取这个文件,并继续执行后续处理(如压缩、上传、部署等);a节点与b节点不直接通信,它们都只能与J
- Jenkins流水线中的核心概念
William一直在路上
职业重启计划工作心得jenkins运维
Jenkins流水线(Pipeline)是Jenkins提供的一套插件,用于实现持续集成和持续交付(CI/CD)工作流的自动化。其核心是通过代码定义整个构建、测试和部署流程,使CI/CD流程更加透明、可维护和可重复。Jenkins流水线主要包含以下核心概念:1.Pipeline(流水线)定义:Pipeline是Jenkins流水线的核心概念,代表整个CI/CD流程,通常通过Jenkinsfile定
- Spring所有知识点整理
文章目录一、引言1.1原生web开发中存在哪些问题?二、Spring框架2.1概念2.2访问与下载三、Spring架构组成四、自定义工厂4.1配置文件4.2工厂类五、构建Maven项目5.1新建项目5.2选择Maven目录5.3GAV坐标六、Spring环境搭建6.1pom.xml中引入Spring常用依赖6.2创建Spring配置文件七、Spring工厂编码八、依赖与配置文件详解8.1Sprin
- Jenkins集成Gitlab流水线
大唐雷恋
参考这篇文章就够了https://www.zxblinux.com/archives/665另外,备注下流水线的配置:pipeline{agentanystages{stage('GitPull'){steps{echo'Updatesourcefromgitlab...'checkout([$class:'GitSCM',branches:[[name:'*/develop']],doGener
- CodeBuild构建文件复制到特定目录处理
亚林瓜子
linux运维服务器
version:0.2phases:install:runtime-versions:java:corretto17pre_build:commands:-mvn--versionbuild:commands:-mvnclean&&mvnpackage-Dmaven.test.skip=truepost_build:commands:-mkdir-ppackaged-artifact/.ebext
- YAML基础使用教程(单引号和双引号的区别)
奔跑吧邓邓子
工具使用YAML单引号双引号
提示:“奔跑吧邓邓子”的高效运维专栏聚焦于各类运维场景中的实际操作与问题解决。内容涵盖服务器硬件(如IBMSystem3650M5)、云服务平台(如腾讯云、华为云)、服务器软件(如Nginx、Apache、GitLab、Redis、Elasticsearch、Kubernetes、Docker等)、开发工具(如Git、HBuilder)以及网络安全(如挖矿病毒排查、SSL证书配置)等多个方面。无论
- SPI 与API,以及java,spring,dubbo 三者SPI的区别
✅SPI机制详解:Java/Spring/Dubbo/Maven一、什么是SPI(ServiceProviderInterface)SPI=一种扩展机制,框架通过接口+注册,让你实现并插入自己的逻辑。API(ApplicationProgrammingInterface):框架实现,开发者调用(下行)。SPI(ServiceProviderInterface):框架定义接口,开发者实现,框架调用(
- gitlab登录报422的错
xiaodaiwang
GitlabCI服务器运维
用户密码正确,但是登录gitlab报422thechangeyourequestedwasrejected.解决方案:1.检查浏览器所在的电脑的时间2.检查gitlab所在服务器时间3.如果经过了nginx,检查一下nginx所在服务器时间然后把时间改正确,重新打开浏览器就行了。
- 前端项目利用Gitlab CI/CD流水线自动化打包、部署云服务
黑心的奥利奥
前端gitlabci/cd
叠甲前言本文仅作为个人学习GitLab的CI/CD功能记录,不适合作为专业性指导,如有纰漏,烦请君指正。Gitlab的CI/CD做什么用的自工作以来,去过大大小小公司,有一些公司技术人员专业性欠佳,每当产品经理或测试人员需要最新或者某个版本的包时【比如安卓的apk包,IOS的ipa包,前端的打包静态资源】,开发总是要停下手中的工作,去手动给测试打包,这类手动工作包括了打开某个项目,加载项目依赖,构
- ubuntu 如何连接gitlab
ZPC8210
code部署ubuntugitlablinux
在Ubuntu上连接GitLab主要有以下几种方式,具体取决于你的需求和环境:1.通过SSH连接GitLab如果你需要通过SSH方式连接GitLab,可以按照以下步骤操作:生成SSH密钥在终端中运行以下命令生成SSH密钥:bash复制ssh-keygen-trsa-C"
[email protected]"按照提示操作,完成后会在~/.ssh目录下生成id_rsa和id_rsa.pub两个
- Java poi导出word文件
辉_哥
Javapoiwordjavaword开发语言
Java在导出word文件时主要对表格中内容垂直居中处理做以记录方便后续碰到类似问题解决。mavenpom.xml中添加poi依赖org.apache.poipoi-ooxml4.1.2下载后查看依赖是否成功此时当在wordutil.java类中CTPageSz报红是因为ooxml-shemas版本不对需要另外下载1.3版本然后添加到本项目依赖中即可下载ooxml-shemas1.4版本的依赖po
- 敏捷开发中的自然语言处理集成
项目管理实战手册
项目管理最佳实践敏捷流程自然语言处理easyuiai
敏捷开发中的自然语言处理集成:让代码与需求“说人话”关键词:敏捷开发、自然语言处理(NLP)、用户故事分析、需求自动化、持续集成优化摘要:在敏捷开发中,“快速响应变化”的核心目标常被繁琐的文本处理拖慢——需求文档像“天书”、用户故事靠“脑补”、缺陷报告整理耗时……自然语言处理(NLP)就像一位“智能翻译官”,能让开发团队与需求文档“流畅对话”。本文将用“搭积木”“翻译机”等生活化比喻,带您理解如何
- MySQL(150)如何进行数据库自动化运维?
辞暮尔尔-烟火年年
MySQL数据库运维mysql
数据库自动化运维(DBAAutomation)是确保数据库高效、安全运行的关键步骤。自动化运维可以涵盖备份、恢复、监控、性能优化、数据迁移等多个方面。以下是一个详细的指南,展示如何使用Java进行数据库自动化运维,包括代码示例。一、环境准备确保安装有Java开发环境(JDK)、Maven(或Gradle)以及一个数据库(例如MySQL)。我们将使用JDBC来进行数据库操作,以及QuartzSche
- Git - 配置并使用多个SSH KEY(2)
4.http协议http/s协议:超文本传输协议优点:简便缺点:效率更低$gitclonehttps://gitlab.com/xxxxxxxx/text.git从上面的对比结果来看,用ssh协议确实更有优势。当然,这并不是本文想要重点阐述的问题。我们在使用ssh协议的时候,需要生成sshkey,如果多个平台(例如同时使用GitHub和Gitlab)都要使用ssh,那么就要生成多组sshkey并进
- Maven
iam_leeqing
JAVA开发mavenjava
Maven是一个面向Java项目的综合性项目管理和构建工具,它通过提供标准化的项目结构、依赖管理和构建生命周期来简化开发流程。Maven使用XML格式的pom.xml文件来定义项目配置和依赖关系,支持自动化构建过程,包括编译、测试、打包和部署等阶段。此外,Maven还能自动下载所需的库文件并解决依赖冲突,同时提供了丰富的插件支持以扩展其功能。通过使用Maven,开发者可以提高构建的一致性和可重复性
- 有关Maven的个人笔记总结
Mavenpom.xml文件详解一级标签bulid(定义了项目的构建配置,包括编译、测试、打包等过程。可以指定插件和构建生命周期。)dependces(列出了项目依赖的所有外部库。每个依赖项都指定了其坐标(groupId,artifactId,version))depencymanagement(用于集中管理依赖版本,确保所有子模块使用相同的依赖版本,用于解决jar包依赖其他jar包产生的版本冲突
- git 介绍与使用教程
叶楊
基础知识gitlab
Git是一个分布式版本控制系统,每个开发者都有一个完整的本地仓库(包含完整历史记录),而远程仓库(如GitHub、GitLab、Gitee)是团队共享的中央仓库。它们的关系如下:本地仓库(LocalRepository)存储在你的计算机上,包含完整的提交历史、分支和代码。你可以独立进行提交(gitcommit)、创建分支(gitbranch)等操作,无需联网。远程仓库(RemoteReposito
- Rust交叉编译自动化实战
告别手动编译地狱!用GitLabRunner让Rust程序跨平台自动构建还在为不同平台手动编译Rust程序而烦恼?还在为环境配置不一致而抓狂?今天带你解锁Rust交叉编译的自动化大法,让你的CI/CD流水线飞起来!痛点在哪里?作为一个Rust开发者,你是否遇到过这些让人头疼的问题:平台差异:在Mac上开发,部署到Linux服务器,每次都要手动交叉编译环境配置:依赖库版本不一致,OpenSSL找不到
- MySQL(149)如何进行数据清洗?
辞暮尔尔-烟火年年
MySQLmysqlpython数据库
数据清洗在数据处理和分析过程中至关重要,确保数据质量和一致性。以下是一个详细的指南,展示如何使用Java进行数据清洗,包括处理缺失值、重复值、异常值、数据类型转换以及标准化等步骤。一、准备工作确保安装有Java开发环境(JDK)和Maven或Gradle等依赖管理工具。我们将使用ApacheCommonsCSV库来处理CSV文件,并使用Java标准库进行数据清洗操作。二、加载数据首先,我们加载数据
- springboot-mybatis-MySQL-集成
张_皮皮
springbootmybatismavenspringbootmybatisidea
这也是我第一次搭建springboot-mybatis的项目环境,记录一下。我是用IntelliJIDEA,你可以创建maven项目,也可以直接创建spring项目,最终的项目结构如下,这里说明下,resources下面的mappers里面是存放mybatis的SQL映射文件,static下面存放前端静态资源文件,如js,css等,template下存放前端模板文件,本项目使用的freemarke
- Docker 部署的 GitLab备份和恢复
码上有约
经验分享dockergitlabeureka
Docker部署的GitLab备份和恢复数据使用Docker部署的GitLab可以通过Docker命令来进行备份和恢复。以下是具体步骤:1.停止GitLab容器在进行备份之前,最好先停止GitLab容器以确保数据一致性:dockerstop2.创建备份启动GitLab容器并执行备份命令:dockerexec-tgitlab-backupcreate备份文件将存储在GitLab容器内的/var/op
- Ubuntu 安装 Gitlab
Kesling
服务部署ubuntugitlablinux
Ubuntu安装Gitlab安装依赖打开终端,运行如下命令:sudoaptupdatesudoaptupgradesudoaptinstallcurlopenssh-serverca-certificatespostfix安装GitLab前往GitLab官网,需要根据服务器系统,搜索需要安装的版本号。根据官网提示下载源文件,执行如命令curl-shttps://packages.gitlab.co
- Centos7下搭建Gitlab服务器
行远大于想
工具篇gitlabcentos阿里云
Centos7下搭建Gitlab服务器1简介2安装配置依赖2.1安装启动ssh服务2.2配置防火墙2.3安装邮件服务3安装配置gitlab3.1配置yum源3.2yum安装3.3配置访问地址3.4重新配置应用3.5启动gitlab3.6防火墙开放端口4登录gitlab4.1阿里云配置安全规则4.2修改密码5卸载Gitlab6Gitlab忘记root密码7Gitlab汉化8参考文献1简介gitlab
- GitLab系列2 GitLab Workhorse
weixin_34326558
git运维前端ViewUI
GitLabWorkhorse上一回介绍了GitLab的基础功能和架构,但还没具体讲解用户的请求是怎么被处理的,只是将各个组件的功能职责介绍了一遍,本节将简单介绍gitlab-workhorse的功能首先回顾一下:GitLab利用Nginx将前端的http/https请求代理至gitlab-workhorse,gitlab-workhorse再将请求转发至UnicornWeb服务器。默认情况下gi
- C#软件开发规范:从代码到实践的全面指南
jie sherry
本文还有配套的精品资源,点击获取简介:《C#经典软件开发规范》详细介绍了在企业中实行软件开发的最佳实践,包括编码、设计、文档和测试等方面。该规范着重于提升代码质量、可维护性和团队效率。关键知识点包括命名规范、注释规范、代码结构、异常处理、错误检查、代码简洁性、单元测试、版本控制、设计模式、代码审查、性能优化、并发与多线程、日志记录、安全性和持续集成/部署(CI/CD)。遵循这些规范有助于创建健壮的
- ubuntu部署gitlab-ce及数据迁移
SilentCodeY
java开发语言gitlabubuntu
ubuntu部署gitlab-ce及数据迁移进行前梳理:在esxi7.0Update3基础上使用ubuntu22.04.5-server系统对gitlab-ce16.10进行部署,以及将gitlab-ee16.9数据进行迁移到gitlab-ce16.10进行后总结:起初安装了极狐17.8.3-jh版本(不支持全局中文,就没用了)又安装了gitlab-ce16.10.10,(和旧服务器版本不一致,备
- gitlab修改DNS解析配置文件
中东大鹅
gitlablinuxgit
在Linux(CentOS7.9)云服务器上解压gitlab时提示需要Python的环境[root@rainyun-v1vct1josrc]#rpm-ivhgitlab-ce-10.8.4-ce.0.el7.x86_64.rpmwarning:gitlab-ce-10.8.4-ce.0.el7.x86_64.rpm:HeaderV4RSA/SHA1Signature,keyIDf27eab47:N
- 虚拟机Ubuntu搭建gitlab服务器,ssh连接
yizhiyu_hh
服务器ubuntugitlab
任务:在一台新的计算机上搭建gitlab环境,用于版本管理并使用ssh连接要求:1、要在Windows系统下运行2、gitlab可以在局域网内被任何pc访问3、搭建完后,使用ssh工具管理4、工具要免费SP1:下载安装虚拟机和ubuntu系统虚拟机选择virtualbox,链接https://www.virtualbox.org/wiki/Downloads现在的virtualbox版本都比较高,
- docker gitlab 备份 恢复 版本升级(16.1.1到18.2.0)
dingxiaochao
dockergitlab
docker启动#在线dockerpullgitlab/gitlab-ce:latest#离线dockersave-ogitlab-ce-latest.targitlab/gitlab-ce:latestdockerload-igitlab-ce-latest.tardockerrun--detach\--publish8021:80--publish8023:22\--namegitlab_te
- Jenkins credentials 增加了github credential 但是在Git SCM 凭证中不显示
不能直接选择secrettext类型,选择usernamewithpassword类型username填github用户名password填在GitHubdevelopersetting中生成的accesstoken
- java工厂模式
3213213333332132
java抽象工厂
工厂模式有
1、工厂方法
2、抽象工厂方法。
下面我的实现是抽象工厂方法,
给所有具体的产品类定一个通用的接口。
package 工厂模式;
/**
* 航天飞行接口
*
* @Description
* @author FuJianyong
* 2015-7-14下午02:42:05
*/
public interface SpaceF
- nginx频率限制+python测试
ronin47
nginx 频率 python
部分内容参考:http://www.abc3210.com/2013/web_04/82.shtml
首先说一下遇到这个问题是因为网站被攻击,阿里云报警,想到要限制一下访问频率,而不是限制ip(限制ip的方案稍后给出)。nginx连接资源被吃空返回状态码是502,添加本方案限制后返回599,与正常状态码区别开。步骤如下:
- java线程和线程池的使用
dyy_gusi
ThreadPoolthreadRunnabletimer
java线程和线程池
一、创建多线程的方式
java多线程很常见,如何使用多线程,如何创建线程,java中有两种方式,第一种是让自己的类实现Runnable接口,第二种是让自己的类继承Thread类。其实Thread类自己也是实现了Runnable接口。具体使用实例如下:
1、通过实现Runnable接口方式 1 2
- Linux
171815164
linux
ubuntu kernel
http://kernel.ubuntu.com/~kernel-ppa/mainline/v4.1.2-unstable/
安卓sdk代理
mirrors.neusoft.edu.cn 80
输入法和jdk
sudo apt-get install fcitx
su
- Tomcat JDBC Connection Pool
g21121
Connection
Tomcat7 抛弃了以往的DBCP 采用了新的Tomcat Jdbc Pool 作为数据库连接组件,事实上DBCP已经被Hibernate 所抛弃,因为他存在很多问题,诸如:更新缓慢,bug较多,编译问题,代码复杂等等。
Tomcat Jdbc P
- 敲代码的一点想法
永夜-极光
java随笔感想
入门学习java编程已经半年了,一路敲代码下来,现在也才1w+行代码量,也就菜鸟水准吧,但是在整个学习过程中,我一直在想,为什么很多培训老师,网上的文章都是要我们背一些代码?比如学习Arraylist的时候,教师就让我们先参考源代码写一遍,然
- jvm指令集
程序员是怎么炼成的
jvm 指令集
转自:http://blog.csdn.net/hudashi/article/details/7062675#comments
将值推送至栈顶时 const ldc push load指令
const系列
该系列命令主要负责把简单的数值类型送到栈顶。(从常量池或者局部变量push到栈顶时均使用)
0x02 &nbs
- Oracle字符集的查看查询和Oracle字符集的设置修改
aijuans
oracle
本文主要讨论以下几个部分:如何查看查询oracle字符集、 修改设置字符集以及常见的oracle utf8字符集和oracle exp 字符集问题。
一、什么是Oracle字符集
Oracle字符集是一个字节数据的解释的符号集合,有大小之分,有相互的包容关系。ORACLE 支持国家语言的体系结构允许你使用本地化语言来存储,处理,检索数据。它使数据库工具,错误消息,排序次序,日期,时间,货
- png在Ie6下透明度处理方法
antonyup_2006
css浏览器FirebugIE
由于之前到深圳现场支撑上线,当时为了解决个控件下载,我机器上的IE8老报个错,不得以把ie8卸载掉,换个Ie6,问题解决了,今天出差回来,用ie6登入另一个正在开发的系统,遇到了Png图片的问题,当然升级到ie8(ie8自带的开发人员工具调试前端页面JS之类的还是比较方便的,和FireBug一样,呵呵),这个问题就解决了,但稍微做了下这个问题的处理。
我们知道PNG是图像文件存储格式,查询资
- 表查询常用命令高级查询方法(二)
百合不是茶
oracle分页查询分组查询联合查询
----------------------------------------------------分组查询 group by having --平均工资和最高工资 select avg(sal)平均工资,max(sal) from emp ; --每个部门的平均工资和最高工资
- uploadify3.1版本参数使用详解
bijian1013
JavaScriptuploadify3.1
使用:
绑定的界面元素<input id='gallery'type='file'/>$("#gallery").uploadify({设置参数,参数如下});
设置的属性:
id: jQuery(this).attr('id'),//绑定的input的ID
langFile: 'http://ww
- 精通Oracle10编程SQL(17)使用ORACLE系统包
bijian1013
oracle数据库plsql
/*
*使用ORACLE系统包
*/
--1.DBMS_OUTPUT
--ENABLE:用于激活过程PUT,PUT_LINE,NEW_LINE,GET_LINE和GET_LINES的调用
--语法:DBMS_OUTPUT.enable(buffer_size in integer default 20000);
--DISABLE:用于禁止对过程PUT,PUT_LINE,NEW
- 【JVM一】JVM垃圾回收日志
bit1129
垃圾回收
将JVM垃圾回收的日志记录下来,对于分析垃圾回收的运行状态,进而调整内存分配(年轻代,老年代,永久代的内存分配)等是很有意义的。JVM与垃圾回收日志相关的参数包括:
-XX:+PrintGC
-XX:+PrintGCDetails
-XX:+PrintGCTimeStamps
-XX:+PrintGCDateStamps
-Xloggc
-XX:+PrintGC
通
- Toast使用
白糖_
toast
Android中的Toast是一种简易的消息提示框,toast提示框不能被用户点击,toast会根据用户设置的显示时间后自动消失。
创建Toast
两个方法创建Toast
makeText(Context context, int resId, int duration)
参数:context是toast显示在
- angular.identity
boyitech
AngularJSAngularJS API
angular.identiy 描述: 返回它第一参数的函数. 此函数多用于函数是编程. 使用方法: angular.identity(value); 参数详解: Param Type Details value
*
to be returned. 返回值: 传入的value 实例代码:
<!DOCTYPE HTML>
- java-两整数相除,求循环节
bylijinnan
java
import java.util.ArrayList;
import java.util.List;
public class CircleDigitsInDivision {
/**
* 题目:求循环节,若整除则返回NULL,否则返回char*指向循环节。先写思路。函数原型:char*get_circle_digits(unsigned k,unsigned j)
- Java 日期 周 年
Chen.H
javaC++cC#
/**
* java日期操作(月末、周末等的日期操作)
*
* @author
*
*/
public class DateUtil {
/** */
/**
* 取得某天相加(减)後的那一天
*
* @param date
* @param num
*
- [高考与专业]欢迎广大高中毕业生加入自动控制与计算机应用专业
comsci
计算机
不知道现在的高校还设置这个宽口径专业没有,自动控制与计算机应用专业,我就是这个专业毕业的,这个专业的课程非常多,既要学习自动控制方面的课程,也要学习计算机专业的课程,对数学也要求比较高.....如果有这个专业,欢迎大家报考...毕业出来之后,就业的途径非常广.....
以后
- 分层查询(Hierarchical Queries)
daizj
oracle递归查询层次查询
Hierarchical Queries
If a table contains hierarchical data, then you can select rows in a hierarchical order using the hierarchical query clause:
hierarchical_query_clause::=
start with condi
- 数据迁移
daysinsun
数据迁移
最近公司在重构一个医疗系统,原来的系统是两个.Net系统,现需要重构到java中。数据库分别为SQL Server和Mysql,现需要将数据库统一为Hana数据库,发现了几个问题,但最后通过努力都解决了。
1、原本通过Hana的数据迁移工具把数据是可以迁移过去的,在MySQl里面的字段为TEXT类型的到Hana里面就存储不了了,最后不得不更改为clob。
2、在数据插入的时候有些字段特别长
- C语言学习二进制的表示示例
dcj3sjt126com
cbasic
进制的表示示例
# include <stdio.h>
int main(void)
{
int i = 0x32C;
printf("i = %d\n", i);
/*
printf的用法
%d表示以十进制输出
%x或%X表示以十六进制的输出
%o表示以八进制输出
*/
return 0;
}
- NsTimer 和 UITableViewCell 之间的控制
dcj3sjt126com
ios
情况是这样的:
一个UITableView, 每个Cell的内容是我自定义的 viewA viewA上面有很多的动画, 我需要添加NSTimer来做动画, 由于TableView的复用机制, 我添加的动画会不断开启, 没有停止, 动画会执行越来越多.
解决办法:
在配置cell的时候开始动画, 然后在cell结束显示的时候停止动画
查找cell结束显示的代理
- MySql中case when then 的使用
fanxiaolong
casewhenthenend
select "主键", "项目编号", "项目名称","项目创建时间", "项目状态","部门名称","创建人"
union
(select
pp.id as "主键",
pp.project_number as &
- Ehcache(01)——简介、基本操作
234390216
cacheehcache简介CacheManagercrud
Ehcache简介
目录
1 CacheManager
1.1 构造方法构建
1.2 静态方法构建
2 Cache
2.1&
- 最容易懂的javascript闭包学习入门
jackyrong
JavaScript
http://www.ruanyifeng.com/blog/2009/08/learning_javascript_closures.html
闭包(closure)是Javascript语言的一个难点,也是它的特色,很多高级应用都要依靠闭包实现。
下面就是我的学习笔记,对于Javascript初学者应该是很有用的。
一、变量的作用域
要理解闭包,首先必须理解Javascript特殊
- 提升网站转化率的四步优化方案
php教程分享
数据结构PHP数据挖掘Google活动
网站开发完成后,我们在进行网站优化最关键的问题就是如何提高整体的转化率,这也是营销策略里最最重要的方面之一,并且也是网站综合运营实例的结果。文中分享了四大优化策略:调查、研究、优化、评估,这四大策略可以很好地帮助用户设计出高效的优化方案。
PHP开发的网站优化一个网站最关键和棘手的是,如何提高整体的转化率,这是任何营销策略里最重要的方面之一,而提升网站转化率是网站综合运营实力的结果。今天,我就分
- web开发里什么是HTML5的WebSocket?
naruto1990
Webhtml5浏览器socket
当前火起来的HTML5语言里面,很多学者们都还没有完全了解这语言的效果情况,我最喜欢的Web开发技术就是正迅速变得流行的 WebSocket API。WebSocket 提供了一个受欢迎的技术,以替代我们过去几年一直在用的Ajax技术。这个新的API提供了一个方法,从客户端使用简单的语法有效地推动消息到服务器。让我们看一看6个HTML5教程介绍里 的 WebSocket API:它可用于客户端、服
- Socket初步编程——简单实现群聊
Everyday都不同
socket网络编程初步认识
初次接触到socket网络编程,也参考了网络上众前辈的文章。尝试自己也写了一下,记录下过程吧:
服务端:(接收客户端消息并把它们打印出来)
public class SocketServer {
private List<Socket> socketList = new ArrayList<Socket>();
public s
- 面试:Hashtable与HashMap的区别(结合线程)
toknowme
昨天去了某钱公司面试,面试过程中被问道
Hashtable与HashMap的区别?当时就是回答了一点,Hashtable是线程安全的,HashMap是线程不安全的,说白了,就是Hashtable是的同步的,HashMap不是同步的,需要额外的处理一下。
今天就动手写了一个例子,直接看代码吧
package com.learn.lesson001;
import java
- MVC设计模式的总结
xp9802
设计模式mvc框架IOC
随着Web应用的商业逻辑包含逐渐复杂的公式分析计算、决策支持等,使客户机越
来越不堪重负,因此将系统的商业分离出来。单独形成一部分,这样三层结构产生了。
其中‘层’是逻辑上的划分。
三层体系结构是将整个系统划分为如图2.1所示的结构[3]
(1)表现层(Presentation layer):包含表示代码、用户交互GUI、数据验证。
该层用于向客户端用户提供GUI交互,它允许用户