- LeetCode Hot 100 缺失的第一个正数
源
leetcode算法数据结构
给你一个未排序的整数数组nums,请你找出其中没有出现的最小的正整数。请你实现时间复杂度为O(n)并且只使用常数级别额外空间的解决方案。示例1:输入:nums=[1,2,0]输出:3解释:范围[1,2]中的数字都在数组中。示例2:输入:nums=[3,4,-1,1]输出:2解释:1在数组中,但2没有。示例3:输入:nums=[7,8,9,11,12]输出:1解释:最小的正数1没有出现。提示:1&n
- 随机生成优惠码并保存至Mysql数据库
iamwiam
javajdbc连接mysqlJavajdbc连接mysql
目前很多商家通过优惠码做活动,现在我们简单的实现八位的优惠码,并保存在数据库中。1.随机生成优惠码代码如下:importjava.util.Random;/***功能:随机生成优惠码*@authoriamwiam**/publicclassActivatedcode{publicintACTIVATEDCODENUM=200;//生成的优惠码数量Randomrandom=newRandom();S
- 【机器学习笔记 Ⅱ】9 模型评估
巴伦是只猫
机器学习机器学习笔记人工智能
评估机器学习模型是确保其在实际应用中有效性和可靠性的关键步骤。以下是系统化的评估方法,涵盖分类、回归、聚类等任务的评估指标和技术:一、分类模型评估1.基础指标2.高级指标ROC-AUC:通过绘制真正例率(TPR)vs假正例率(FPR)曲线下面积评估模型整体性能。AUC=1:完美分类;AUC=0.5:随机猜测。适用于二分类及多分类(OvR或OvO策略)。混淆矩阵:可视化模型在各类别上的具体错误(如将
- 大语言模型(LLM)课程学习(Curriculum Learning)、数据课程(data curriculum)指南:从原理到实践
在人工智能的浪潮之巅,我们总会惊叹于GPT-4、Llama3.1、Qwen2.5这些顶尖大语言模型(LLM)所展现出的惊人能力。它们似乎无所不知,能写诗、能编程、能进行复杂的逻辑推理。一个自然而然的问题是:它们是如何“学”会这一切的?大多数人会回答:“用海量数据喂出来的。”这个答案只说对了一半。如果你认为只要把互联网上能找到的所有数据(比如15万亿个token)随机打乱,然后“一锅烩”地喂给模型,
- 【面试题】为什么kafka的吞吐量这么高
oraen
面试系列kafka分布式
我们总结一下为什么kafka的吞吐量高核心:顺序写+零拷贝+批处理一数据模型简单+顺序读写磁盘1kafka的数据存储本质上使用的是Append-only日志模型,数据写入和读取是顺序的,不需要复杂索引或随机写,大大简化了写路径,2消息以顺序追加方式写入磁盘,避免了随机写,而且顺序写入能够更高效地配合操作系统的页缓存,进一步提升写的性能。3消息的消费也是顺序读取的,顺序读取硬盘数据再配合内存映射大大
- 算法 堆与堆排序
堆的定义与分类堆是一种特殊的完全二叉树,通常分为两种类型:大顶堆(大根堆):每个节点的值都大于或等于其子节点的值。小顶堆(小根堆):每个节点的值都小于或等于其子节点的值。堆的性质结构性:堆是一棵完全二叉树,即除了最后一层外,其他层的节点都是满的,且最后一层的节点从左到右填充。有序性:堆中每个节点的值都满足特定的顺序关系(大于或小于子节点)。堆的存储数组索引0通常作为堆的根节点。对于索引为i的节点,
- 深度学习微调中的优化器全景解析:从理论到实践
北辰alk
AI深度学习人工智能
文章目录一、基础优化器:深度学习微调的基石1.1随机梯度下降(SGD)1.2AdaGrad(自适应梯度算法)二、自适应优化器:现代深度学习的标配2.1RMSProp2.2Adam(自适应矩估计)三、大模型微调专用优化器3.1LAMB(Layer-wiseAdaptiveMoments)3.2Sophia(二阶优化启发)四、优化器性能对比研究4.1在GLUE基准上的表现(BERT-base微调)4.
- 【Python 算法零基础 4.排序 ⑦ 桶排序】
L_cl
Python常见算法排序算法数据结构算法
草木不争高,争的是生生不息——25.5.26选择排序回顾①遍历数组:从索引0到n-1(n为数组长度)。②每轮确定最小值:假设当前索引i为最小值索引min_index。从i+1到n-1遍历,若找到更小元素,则更新min_index。③交换元素:若min_index≠i,则交换arr[i]与arr[min_index]。'''①遍历数组:从索引 0 到 n-1(n 为数组长度)。②每轮确定最小值:假设
- 【Python 算法零基础 4.排序 ⑥ 快速排序】
L_cl
Python常见算法排序算法算法
既有锦绣前程可奔赴,亦有往日岁月可回首——25.5.25选择排序回顾①遍历数组:从索引0到n-1(n为数组长度)。②每轮确定最小值:假设当前索引i为最小值索引min_index。从i+1到n-1遍历,若找到更小元素,则更新min_index。③交换元素:若min_index≠i,则交换arr[i]与arr[min_index]。'''①遍历数组:从索引 0 到 n-1(n 为数组长度)。②每轮确定
- Paimon LSM Tree Compaction核心:堆和败者树
lifallen
PaimonLSMTreejava数据库数据结构apache大数据算法flink
SortMergeReaderWithMinHeapSortMergeReaderWithMinHeap是Paimon合并排序(Merge-Sort)机制中最终执行多路归并(K-wayMerge)的核心实现之一。SortMergeReaderWithMinHeap是SortMergeReader接口的一个具体实现。它的核心功能是接收多个已经排好序的RecordReader(代表多个有序的数据流),
- paimon.disk包:磁盘处理
FileIOChannel接口FileIOChannel是Paimon内部用于磁盘I/O操作的一个核心抽象,尤其在需要将大量数据溢出(spill)到本地磁盘的场景(例如外部排序)中扮演着关键角色。它代表了对一个底层文件的I/O通道,并提供了一套管理其生命周期(创建、读写、关闭、删除)的标准化方法。下面我们分部分来解析这个接口。这个接口定义了一个I/O通道的基本行为。//...existingcod
- Redis之缓存雪崩、缓存穿透、缓存预热、缓存更新、缓存降级
俺是农村的
Redisredisjava缓存
Redis之缓存雪崩、缓存穿透、缓存预热、缓存更新、缓存降级1、缓存雪崩发生场景:当Redis服务器重启或者大量缓存在同一时期失效时,此时大量的流量会全部冲击到数据库上面,数据库有可能会因为承受不住而宕机解决办法:1)缓存数据的过期时间设置随机,防止同一时间大量数据过期现象发生。2)给每一个缓存数据增加相应的缓存标记,记录缓存的是否失效,如果缓存标记失效,则更新数据缓存。3)一般并发量不是特别多的
- 缓存雪崩、缓存穿透、缓存预热、缓存更新、缓存降级
1.缓存雪崩(CacheAvalanche)定义:缓存雪崩是指大量缓存中的数据在同一时间过期,导致大量请求同时访问数据库,造成数据库压力骤增,甚至可能导致数据库崩溃。原因:多个缓存的key在同一时间过期;当这些key不再命中缓存时,所有请求都会同时访问数据库。应对策略:设置过期时间加随机值:避免缓存的key在相同时间过期。比如,如果某个key设置过期时间为1小时,可以随机设置在59分钟到61分钟之
- 【一起来学AI大模型】算法核心:数组/哈希表/树/排序/动态规划(LeetCode精练)
运器123
AI大模型python开发语言人工智能AIAI编程算法散列表
以下是五大核心算法的重点解析和LeetCode经典题解,包含最优解法和模板代码:一、数组操作(双指针/滑动窗口)核心思想:通过索引指针高效遍历与操作数组1.移动零(No.283)defmoveZeroes(nums):slow=0forfastinrange(len(nums)):ifnums[fast]!=0:nums[slow],nums[fast]=nums[fast],nums[slow]
- FPS射击游戏状态同步架构方案
你一身傲骨怎能输
游戏开发技术专栏游戏架构
文章摘要本文提出了一种FPS射击游戏的状态同步架构方案,旨在实现低延迟、高一致性和抗作弊。采用服务器权威架构,客户端仅提供输入和预测渲染,服务器验证并广播状态。通过客户端预测、服务器校正和增量同步机制优化延迟与带宽,同时利用事件驱动同步确保关键事件一致。网络优化包括数据压缩、差异编码和优先级排序。方案还包含输入验证、反作弊措施和容错机制,并通过示例数据包设计和流程说明具体实现。优势包括低延迟、状态
- 快速排序算法
追烽少年x
数据结构数据结构
快速排序算法快速排序是一种高效的排序算法,其核心思想是通过分治法将数组分成两部分,一部分小于某个基准值,另一部分大于基准值,然后递归地对这两部分进行排序。以下是快速排序算法的C++实现:快速排序的C++实现代码:#include#includeusingnamespacestd;voidSwap(int&a,int&b){intnTemp=a;a=b;b=nTemp;}intPartition(v
- 振动分析常用的频谱类型
m0_55576290
工作一二三信号与系统振动分析
文章目录振动分析常用的频谱类型1.幅值谱(AmplitudeSpectrum)-最常用2.功率谱密度(PSD)-用于随机信号3.自功率谱(AutoPowerSpectrum)振动分析中的选择原则.振动分析中的频谱选择建议故障诊断→幅值谱模态分析→自功率谱随机振动→功率谱密度宽动态范围→对数坐标实际应用中的处理方法总结振动分析常用的频谱类型1.幅值谱(AmplitudeSpectrum)-最常用%幅
- 洛谷分支结构题单刷题记录 java
阿乌阿呜
JAVA刷题记录java算法
目录P2433【深基1-2】小学数学N合一P5709【深基2.习6】ApplesPrologue/苹果和虫子P5710【深基3.例2】数的性质P5711【深基3.例3】闰年判断P5712【深基3.例4】ApplesP5713【深基3.例5】洛谷团队系统P5714【深基3.例7】肥胖问题P5715【深基3.例8】三位数排序P5716【深基3.例9】月份天数P1085[NOIP2004普及组]不高兴的
- 算法分析与设计实验2:实现克鲁斯卡尔算法和prim算法
表白墙上别挂我
算法笔记经验分享
实验原理(一)克鲁斯卡尔算法:一种用于求解最小生成树问题的贪心算法,该算法的基本思想是按照边的权重从小到大排序,然后依次选择边,并加入生成树中,同时确保不会形成环路,直到生成树包含图中所有的顶点为止。具体步骤:边的排序:将所有边按照权重从小到大排序。初始化:创建一个空的生成树(可以是一个空的图结构),以及一个用于记录每个顶点所属集合(或称为连通分量)的数据结构(例如并查集)。边的选择:依次选择排序
- (面经总结)一篇文章带你整理面试过程中常考的九大排序算法
南淮北安
冲刺大厂之面经总结面经排序算法二分插入冒泡快速
文章目录一、二分插入排序1.原理2.代码二、冒泡排序1.原理2.代码三、插入排序算法1.原理2.代码四、快速排序算法1.原理2.代码五、希尔排序1.原理2.代码六、归并排序1.原理2.代码七、桶排序八、基数排序九、堆排序1.原理2.代码十、总结1.算法分类2.性能分析一、二分插入排序首先必须是排好序的数组,然后通过二分查找,找到合适的位置,插入1.原理二分查找算法又叫作折半查找,要求待查找的序列有
- 陈强《计量经济学及Stata应用》学习笔记——持续更新
WangSoooCute
学习笔记
1导论1.1什么是计量经济学econometrics几种关系:相关关系、因果关系、逆向因果关系reversecausality、双向因果关系被解释变量dependentvariable解释变量explanatoryvariable=regressor=自变量independentvariable=协变量covariateunobservable的误差项errorterm=随机扰动项stochast
- 【Python】列表嵌套字典多规则排序
魔都吴所谓
Python算法工具python服务器java
数据a=[{"project":"pro_613","branchList":[]},{"project":"pro_614","branchList":[]},{"project":"pro_612","branchList":[]},{"project":"pro_631","branchList":[]},{"project":"pro_617","branchList":[]},{"pro
- 深入解析C++中 std::sort背后的实现原理 —Introsort(Introspective Sort)
点云SLAM
C++c++算法数据结构快速排序排序算法堆排序深度优先
Introsort简介Introsort是一种混合排序算法,结合了三种经典算法的优点:算法用于特点快速排序通常情况平均时间复杂度O(nlogn)堆排序当快速排序退化(递归过深)时最坏时间复杂度O(nlogn)插入排序小规模数组时(如长度≤16)常数开销小,快Introsort运行机制排序逻辑如下:if(size2*log2(n))堆排序(HeapSort)else快速排序(QuickSort)快速
- 冒泡排序算法详解(含Python代码实现)
算法_小学生
算法
冒泡排序(BubbleSort)是最基础的排序算法之一,通常用于学习排序算法的入门理解。本文将通过Python代码实现冒泡排序,并详细讲解其原理、执行流程、复杂度分析及适用情况。✨一、算法简介冒泡排序的核心思想是:相邻两个元素比较,将较大的元素不断“冒泡”至右侧,最终实现排序。其基本过程是重复比较相邻的元素,如果顺序错误就交换,重复这一过程,直到没有任何需要交换的为止。二、Python代码实现下面
- 数据结构--单链表
数据结构基础(3)文章目录数据结构基础(3)单链表的定义:不带头结点的单链表:带头结点的单链表:单链表的插入操作:按位序插入(带头结点):按位序插入(不带头结点):指定结点的后插操作:指定结点的前插操作:按位序删除(带头结点):按位查找:按值查找:求表的长度:单链表的建立--尾插法单链表的建立--头插法单链表的定义:带头结点不带头结点顺序表:优点:可随机存取,存储密度高缺点:要求大片连续空间,改变
- PyTorch:Dropout 操作 torch.nn.Dropout()
sweettea~
Pythonpytorch深度学习
torch.nn.Dropout()是PyTorch中对Dropout层的其中一个实现,该函数底层调用torch.nn.functional.dropout();1、torch.nn.Dropout(p=0.5,inplace=False)其作用是,在training模式下,基于伯努利分布抽样,以概率p对张量input的值随机置0;training模式中,对输出以1/(1-p)进行scaling,
- 马尔可夫链:随机过程的记忆法则与演化密码
大千AI助手
人工智能Python#OTHERpython人工智能马尔科夫链MC算法随机过程
本文由「大千AI助手」原创发布,专注用真话讲AI,回归技术本质。拒绝神话或妖魔化。搜索「大千AI助手」关注我,一起撕掉过度包装,学习真实的AI技术!一、核心定义:无记忆的随机演化马尔可夫链(MarkovChain)是一种具有马尔可夫性质的离散随机过程,其核心特征是:未来状态仅取决于当前状态,与历史路径无关数学表述:[P(Xt+1=xt+1∣Xt=xt,Xt−1=xt−1,…,X0=x0)=P(Xt
- 条件概率:不确定性决策的基石
大千AI助手
人工智能Python#OTHER决策树算法机器学习人工智能条件概率概率论
条件概率是概率论中的核心概念,用于描述在已知某一事件发生的条件下,另一事件发生的概率。它量化了事件之间的关联性,是贝叶斯推理、统计建模和机器学习的基础。本文由「大千AI助手」原创发布,专注用真话讲AI,回归技术本质。拒绝神话或妖魔化。搜索「大千AI助手」关注我,一起撕掉过度包装,学习真实的AI技术!一、定义与公式设(A)和(B)是两个随机事件,且(P(B)>0):条件概率(P(A\midB))表示
- 搜索架构中的NLP技术:提升搜索准确性的关键
搜索引擎技术
架构自然语言处理人工智能ai
搜索架构中的NLP技术:提升搜索准确性的关键关键词:搜索架构、NLP技术、查询理解、语义搜索、相关性排序、意图识别、BERT模型摘要:本文将深入探讨现代搜索架构中NLP技术的核心应用,从查询理解到结果排序的全流程,揭示NLP如何提升搜索准确性。我们将通过生动的比喻解释复杂概念,分析关键技术原理,并提供实际代码示例,帮助读者全面理解搜索系统背后的NLP魔法。背景介绍目的和范围本文旨在解析NLP技术在
- PostgreSQL多字段排序+limit问题,数据重复问题
秦时明月之君临天下
PostgreSQL1024程序员节postgresqlsql数据库
在项目中:pgsql自定义函数,遇到for循环中limit出来的数据时重复的问题,经过排查发现是排序不彻底导致的。原sql:SELECT……ORDERBYtagrule.dimension,tagrule.MINVALUEASCLIMIT1OFFSETi;因为是在for循环中,offset的值每次i++,但是后面发现该SQL会查询出重复的数据。然后我就去掉limit,排查发现,当tagrule.d
- 统一思想认识
永夜-极光
思想
1.统一思想认识的基础,才能有的放矢
原因:
总有一种描述事物的方式最贴近本质,最容易让人理解.
如何让教育更轻松,在于找到最适合学生的方式.
难点在于,如何模拟对方的思维基础选择合适的方式. &
- Joda Time使用笔记
bylijinnan
javajoda time
Joda Time的介绍可以参考这篇文章:
http://www.ibm.com/developerworks/cn/java/j-jodatime.html
工作中也常常用到Joda Time,为了避免每次使用都查API,记录一下常用的用法:
/**
* DateTime变化(增减)
*/
@Tes
- FileUtils API
eksliang
FileUtilsFileUtils API
转载请出自出处:http://eksliang.iteye.com/blog/2217374 一、概述
这是一个Java操作文件的常用库,是Apache对java的IO包的封装,这里面有两个非常核心的类FilenameUtils跟FileUtils,其中FilenameUtils是对文件名操作的封装;FileUtils是文件封装,开发中对文件的操作,几乎都可以在这个框架里面找到。 非常的好用。
- 各种新兴技术
不懂事的小屁孩
技术
1:gradle Gradle 是以 Groovy 语言为基础,面向Java应用为主。基于DSL(领域特定语言)语法的自动化构建工具。
现在构建系统常用到maven工具,现在有更容易上手的gradle,
搭建java环境:
http://www.ibm.com/developerworks/cn/opensource/os-cn-gradle/
搭建android环境:
http://m
- tomcat6的https双向认证
酷的飞上天空
tomcat6
1.生成服务器端证书
keytool -genkey -keyalg RSA -dname "cn=localhost,ou=sango,o=none,l=china,st=beijing,c=cn" -alias server -keypass password -keystore server.jks -storepass password -validity 36
- 托管虚拟桌面市场势不可挡
蓝儿唯美
用户还需要冗余的数据中心,dinCloud的高级副总裁兼首席营销官Ali Din指出。该公司转售一个MSP可以让用户登录并管理和提供服务的用于DaaS的云自动化控制台,提供服务或者MSP也可以自己来控制。
在某些情况下,MSP会在dinCloud的云服务上进行服务分层,如监控和补丁管理。
MSP的利润空间将根据其参与的程度而有所不同,Din说。
“我们有一些合作伙伴负责将我们推荐给客户作为个
- spring学习——xml文件的配置
a-john
spring
在Spring的学习中,对于其xml文件的配置是必不可少的。在Spring的多种装配Bean的方式中,采用XML配置也是最常见的。以下是一个简单的XML配置文件:
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.or
- HDU 4342 History repeat itself 模拟
aijuans
模拟
来源:http://acm.hdu.edu.cn/showproblem.php?pid=4342
题意:首先让求第几个非平方数,然后求从1到该数之间的每个sqrt(i)的下取整的和。
思路:一个简单的模拟题目,但是由于数据范围大,需要用__int64。我们可以首先把平方数筛选出来,假如让求第n个非平方数的话,看n前面有多少个平方数,假设有x个,则第n个非平方数就是n+x。注意两种特殊情况,即
- java中最常用jar包的用途
asia007
java
java中最常用jar包的用途
jar包用途axis.jarSOAP引擎包commons-discovery-0.2.jar用来发现、查找和实现可插入式接口,提供一些一般类实例化、单件的生命周期管理的常用方法.jaxrpc.jarAxis运行所需要的组件包saaj.jar创建到端点的点到点连接的方法、创建并处理SOAP消息和附件的方法,以及接收和处理SOAP错误的方法. w
- ajax获取Struts框架中的json编码异常和Struts中的主控制器异常的解决办法
百合不是茶
jsjson编码返回异常
一:ajax获取自定义Struts框架中的json编码 出现以下 问题:
1,强制flush输出 json编码打印在首页
2, 不强制flush js会解析json 打印出来的是错误的jsp页面 却没有跳转到错误页面
3, ajax中的dataType的json 改为text 会
- JUnit使用的设计模式
bijian1013
java设计模式JUnit
JUnit源代码涉及使用了大量设计模式
1、模板方法模式(Template Method)
定义一个操作中的算法骨架,而将一些步骤延伸到子类中去,使得子类可以不改变一个算法的结构,即可重新定义该算法的某些特定步骤。这里需要复用的是算法的结构,也就是步骤,而步骤的实现可以在子类中完成。
 
- Linux常用命令(摘录)
sunjing
crondchkconfig
chkconfig --list 查看linux所有服务
chkconfig --add servicename 添加linux服务
netstat -apn | grep 8080 查看端口占用
env 查看所有环境变量
echo $JAVA_HOME 查看JAVA_HOME环境变量
安装编译器
yum install -y gcc
- 【Hadoop一】Hadoop伪集群环境搭建
bit1129
hadoop
结合网上多份文档,不断反复的修正hadoop启动和运行过程中出现的问题,终于把Hadoop2.5.2伪分布式安装起来,跑通了wordcount例子。Hadoop的安装复杂性的体现之一是,Hadoop的安装文档非常多,但是能一个文档走下来的少之又少,尤其是Hadoop不同版本的配置差异非常的大。Hadoop2.5.2于前两天发布,但是它的配置跟2.5.0,2.5.1没有分别。 &nb
- Anychart图表系列五之事件监听
白糖_
chart
创建图表事件监听非常简单:首先是通过addEventListener('监听类型',js监听方法)添加事件监听,然后在js监听方法中定义具体监听逻辑。
以钻取操作为例,当用户点击图表某一个point的时候弹出point的name和value,代码如下:
<script>
//创建AnyChart
var chart = new AnyChart();
//添加钻取操作&quo
- Web前端相关段子
braveCS
web前端
Web标准:结构、样式和行为分离
使用语义化标签
0)标签的语义:使用有良好语义的标签,能够很好地实现自我解释,方便搜索引擎理解网页结构,抓取重要内容。去样式后也会根据浏览器的默认样式很好的组织网页内容,具有很好的可读性,从而实现对特殊终端的兼容。
1)div和span是没有语义的:只是分别用作块级元素和行内元素的区域分隔符。当页面内标签无法满足设计需求时,才会适当添加div
- 编程之美-24点游戏
bylijinnan
编程之美
import java.util.ArrayList;
import java.util.Arrays;
import java.util.HashSet;
import java.util.List;
import java.util.Random;
import java.util.Set;
public class PointGame {
/**编程之美
- 主页面子页面传值总结
chengxuyuancsdn
总结
1、showModalDialog
returnValue是javascript中html的window对象的属性,目的是返回窗口值,当用window.showModalDialog函数打开一个IE的模式窗口时,用于返回窗口的值
主界面
var sonValue=window.showModalDialog("son.jsp");
子界面
window.retu
- [网络与经济]互联网+的含义
comsci
互联网+
互联网+后面是一个人的名字 = 网络控制系统
互联网+你的名字 = 网络个人数据库
每日提示:如果人觉得不舒服,千万不要外出到处走动,就呆在床上,玩玩手游,更不能够去开车,现在交通状况不
- oracle 创建视图 with check option
daizj
视图vieworalce
我们来看下面的例子:
create or replace view testview
as
select empno,ename from emp where ename like ‘M%’
with check option;
这里我们创建了一个视图,并使用了with check option来限制了视图。 然后我们来看一下视图包含的结果:
select * from testv
- ToastPlugin插件在cordova3.3下使用
dibov
Cordova
自己开发的Todos应用,想实现“
再按一次返回键退出程序 ”的功能,采用网上的ToastPlugins插件,发现代码或文章基本都是老版本,运行问题比较多。折腾了好久才弄好。下面吧基于cordova3.3下的ToastPlugins相关代码共享。
ToastPlugin.java
package&nbs
- C语言22个系统函数
dcj3sjt126com
cfunction
C语言系统函数一、数学函数下列函数存放在math.h头文件中Double floor(double num) 求出不大于num的最大数。Double fmod(x, y) 求整数x/y的余数。Double frexp(num, exp); double num; int *exp; 将num分为数字部分(尾数)x和 以2位的指数部分n,即num=x*2n,指数n存放在exp指向的变量中,返回x。D
- 开发一个类的流程
dcj3sjt126com
开发
本人近日根据自己的开发经验总结了一个类的开发流程。这个流程适用于单独开发的构件,并不适用于对一个项目中的系统对象开发。开发出的类可以存入私人类库,供以后复用。
以下是开发流程:
1. 明确类的功能,抽象出类的大概结构
2. 初步设想类的接口
3. 类名设计(驼峰式命名)
4. 属性设置(权限设置)
判断某些变量是否有必要作为成员属
- java 并发
shuizhaosi888
java 并发
能够写出高伸缩性的并发是一门艺术
在JAVA SE5中新增了3个包
java.util.concurrent
java.util.concurrent.atomic
java.util.concurrent.locks
在java的内存模型中,类的实例字段、静态字段和构成数组的对象元素都会被多个线程所共享,局部变量与方法参数都是线程私有的,不会被共享。
- Spring Security(11)——匿名认证
234390216
Spring SecurityROLE_ANNOYMOUS匿名
匿名认证
目录
1.1 配置
1.2 AuthenticationTrustResolver
对于匿名访问的用户,Spring Security支持为其建立一个匿名的AnonymousAuthenticat
- NODEJS项目实践0.2[ express,ajax通信...]
逐行分析JS源代码
Ajaxnodejsexpress
一、前言
通过上节学习,我们已经 ubuntu系统搭建了一个可以访问的nodejs系统,并做了nginx转发。本节原要做web端服务 及 mongodb的存取,但写着写着,web端就
- 在Struts2 的Action中怎样获取表单提交上来的多个checkbox的值
lhbthanks
javahtmlstrutscheckbox
第一种方法:获取结果String类型
在 Action 中获得的是一个 String 型数据,每一个被选中的 checkbox 的 value 被拼接在一起,每个值之间以逗号隔开(,)。
所以在 Action 中定义一个跟 checkbox 的 name 同名的属性来接收这些被选中的 checkbox 的 value 即可。
以下是实现的代码:
前台 HTML 代码:
- 003.Kafka基本概念
nweiren
hadoopkafka
Kafka基本概念:Topic、Partition、Message、Producer、Broker、Consumer。 Topic: 消息源(Message)的分类。 Partition: Topic物理上的分组,一
- Linux环境下安装JDK
roadrunners
jdklinux
1、准备工作
创建JDK的安装目录:
mkdir -p /usr/java/
下载JDK,找到适合自己系统的JDK版本进行下载:
http://www.oracle.com/technetwork/java/javase/downloads/index.html
把JDK安装包下载到/usr/java/目录,然后进行解压:
tar -zxvf jre-7
- Linux忘记root密码的解决思路
tomcat_oracle
linux
1:使用同版本的linux启动系统,chroot到忘记密码的根分区passwd改密码 2:grub启动菜单中加入init=/bin/bash进入系统,不过这时挂载的是只读分区。根据系统的分区情况进一步判断. 3: grub启动菜单中加入 single以单用户进入系统. 4:用以上方法mount到根分区把/etc/passwd中的root密码去除 例如: ro
- 跨浏览器 HTML5 postMessage 方法以及 message 事件模拟实现
xueyou
jsonpjquery框架UIhtml5
postMessage 是 HTML5 新方法,它可以实现跨域窗口之间通讯。到目前为止,只有 IE8+, Firefox 3, Opera 9, Chrome 3和 Safari 4 支持,而本篇文章主要讲述 postMessage 方法与 message 事件跨浏览器实现。postMessage 方法 JSONP 技术不一样,前者是前端擅长跨域文档数据即时通讯,后者擅长针对跨域服务端数据通讯,p