- LearnOpenGL(七):编写自定义的Shader类
米芝鱼
LearnOpenGLc++开发语言算法Shader图形渲染游戏
在前面的文章中我们已经了解了Shader在OpenGL中的使用流程,但是这样每一次都要链接与创建实在是很不方便。而在c++中,类对象能很好的帮助我们实现重复的功能模块,我们需要自定义一个Shader类,如下:#ifndefSHADERTOOL_H#defineSHADERTOOL_H#include#include#include#include#includeclassShader{public
- 线程池 JDK1.5 ExecutorService threadPool = Executors.newFixedThreadPool(3)
飞腾创客
java
packagecn.itcast.heima2;importjava.util.concurrent.ExecutorService;importjava.util.concurrent.Executors;importjava.util.concurrent.TimeUnit;publicclassThreadPoolTest{/***@paramargs*/publicstaticvoidma
- Spring Boot添加全局异常处理器捕捉异常 跳转登录页面
Java&Develop
Java开发springboot状态模式后端
SpringBoot添加全局异常处理器捕捉异常跳转登录页面二、后端异常处理添加全局异常处理器在SpringBoot中创建GlobalExceptionHandler,捕获所有异常并返回统一JSON格式:1.这里和下面的2选一个就可以这里可以改成跳转登录@RestControllerAdvicepublicclassGlobalExceptionHandler{@ExceptionHandler(E
- 【力扣hot100题】(014)轮转数组
梭七y
leetcode算法数据结构
感谢力扣,好久没遇到过这么简单的题目了,并且比较考验基础(vector的各种删除拼接操作)。先储存起后k个元素,然后从第nums.size()-k处一一后移,最后将储存元素替换原来的前k个元素即可。classSolution{public:voidrotate(vector&nums,intk){k=k%nums.size();vectorrecord(nums.end()-k,nums.end(
- 【力扣hot100题】(013)合并区间
梭七y
leetcode算法职场和发展
一开始并不相信直接sort会更快,于是一直在试map……我错了…………方法就是直接sort之后循环,每次循环找后面的元素直到不能合并(直到后面元素的前一个小于目前元素的后一个),然后目前元素瞬移为遍历到的那个元素。总之想了挺久的。classSolution{public:vector>merge(vector>&intervals){sort(intervals.begin(),intervals
- 【力扣hot100题】(010)滑动窗口最大值
梭七y
leetcode算法职场和发展
在前几天笔试的时候做到了差不多的,就是将元素按顺序排,每次加入新元素时检查前面元素是否大于(小于)该元素,这样就能保持队列的单调性,然后要取最大(最小)值的时候直接取最前面的元素就行。(这道题每次取出元素前要判断队前元素序号是否超出滑动窗口前端)需要用到一个新的东西deque(双端队列),笔试时使用的是stack(栈)。classSolution{public:vectormaxSlidingWi
- leetcode153.寻找旋转排序数组中的最小值
ゞ 正在缓冲99%…
算法leetcode数据结构
思路源于【小白都能听懂的算法课】【力扣】【Leetcode153】寻找旋转排序数组中的最小值|二分查找|数组classSolution{publicintfindMin(int[]nums){intleft=0,right=nums.length-1;while(left<=right){intmid=(right-left)/2+left;//left和right处于单调区间中那么left处就是
- LeetCode 74.搜索二维矩阵
CodingBoyPP
LeetCodeleetcode矩阵算法
问题详情:LeetCode74.搜索二维矩阵1.问题思路由题可知,整个数组从上至下,从左至右都是有序的。所以这里我们可以使用二分查找法。2.代码实现通过遍历每行,对行内数据进行二分查找。classSolution{publicbooleansearchMatrix(int[][]matrix,inttarget){booleanresult=false;//每一层使用二分法进行遍历。for(int
- SpringBoot分布式项目中MyBatis实战技巧:从配置到性能优化
小马不敲代码
SpringBootspringboot分布式mybatis
引言在分布式系统架构中,SpringBoot与MyBatis的组合已成为企业级开发的黄金搭档。但在实际项目中,开发者常面临多数据源管理、SQL性能优化、分布式事务等挑战。一、多数据源动态切换实战1.1多数据源配置@ConfigurationpublicclassDataSourceConfig{@Bean(name="masterDataSource")@ConfigurationProperti
- JAVA类和对象
·薯条大王
javajava开发语言
一、类与对象基础1.类与对象定义类:对象的模板,定义对象的属性(成员变量)和行为(方法)。publicclassDog{Stringname;//属性publicvoideat(){...}//行为}对象:类的实例,通过new关键字创建。Dogdog=newDog();//实例化对象2.对象实例化过程步骤:内存分配:在堆内存中为对象分配空间。初始化成员变量:赋予默认值(如int为0,对象为null
- 策略模式 (Strategy)
m0_55576290
设计模式c++策略模式
策略模式(Strategy)应用场景:用于处理不同的任务配置参数。在你的任务中,可能会有不同的任务类型,每个任务类型可能有不同的单位(比如米、毫米)或不同的处理方式。策略模式可以让你根据不同的任务类型选择不同的处理策略。优点:可以动态地选择不同的策略,而不需要修改任务配置类的代码。classTaskStrategy{public:virtualvoidexecute()=0;};classMetr
- SpringBoot工程如何考虑优化使其视频请求更流畅
流烟默
#SpringBootspringboot音视频后端
为了优化SpringBoot以提升前端视频读取的流畅性,可以从以下几个关键方向入手:1.分块传输与HTTP范围请求(RangeRequests)视频播放通常需要支持随机跳转进度,需确保后端正确处理HTTPRange头,实现按需传输部分内容。实现步骤:启用HTTPRange支持:@GetMapping("/video/{filename}")publicResponseEntitygetVideo(
- Java面试黄金宝典20
ylfhpy
Java面试黄金宝典java面试开发语言算法职场和发展
1.求二叉树深度javaclassTreeNode{intval;TreeNodeleft;TreeNoderight;TreeNode(intx){val=x;}}publicclassBinaryTreeDepth{publicstaticintmaxDepth(TreeNoderoot){if(root==null){return0;}intleftDepth=maxDepth(root.l
- Java面试黄金宝典4
ylfhpy
Java面试黄金宝典java面试开发语言职场和发展面经
1.什么是泛型?与T的区别原理泛型是Java编程语言中的一个强大特性,它提供了编译时类型安全检查机制,允许在定义类、接口和方法时使用类型参数。这些类型参数在使用时会被具体的类型所替代,从而实现代码的复用和类型安全。泛型的实现基于类型擦除机制,在编译时,泛型类型信息会被擦除,替换为原始类型。例如,定义一个泛型类Box:javapublicclassBox{privateTitem;publicvoi
- QT计算器开发
入世浮尘
QTqt开发语言c++
1.项目架构1.图形化界面2.widget.h#ifndefWIDGET_H#defineWIDGET_H#include#include#includeQT_BEGIN_NAMESPACEnamespaceUi{classWidget;}QT_END_NAMESPACEclassWidget:publicQWidget{Q_OBJECTpublic:Widget(QWidget*parent=n
- python水果超市管理系统_java实现水果超市管理系统
铁帅
python水果超市管理系统
本文为大家分享了java实现水果超市管理系统的具体代码,供大家参考,具体内容如下首先建立水果类的界面publicclassFruit{//定义IDprivateStringid;//定义名称privateStringname;//定义价格privateintprice;//定义单位privateStringunit;//定义数量privateintnumber;publicFruit(String
- springboot-mybaitsplus-id生成策略
千禧河畔
mybaitsplusjava开发语言
importlombok.Data;@DatapublicclassUser{@TableId(type=IdType.AUTO)//@TableId(type=IdType.INPUT) //@TableId(type=IdType.ASSIGN_ID)privateintid;privateStringname;privateStringpassword;privateintage;priva
- Unity中UDP异步通信常用API使用
DamnF--
Unity网络开发基础udp网络协议网络unityc#
Begin开头的方法BeginSendToBeginSendTo是UdpClient类中的一个重要方法,用于开始一个异步操作来发送UDP数据报到指定的远程端点publicIAsyncResultBeginSendTo(byte[]datagram,intbytes,IPEndPointendPoint,AsyncCallbackrequestCallback,objectstate);参数解释da
- Mybatis-plus 开发规范教程
花海没有七里香
Javajavaspringboot
Mybatis-plus开发教程IService使用首先要写一个mapper类继承mybatis-plus的BaseMapper不需要写入@Mapper注解publicinterfaceUserMapperextendxBaseMapper{//以下为自定义方法可以为空IPagegetList(@Param("page")Pagepage,@Param("data")Userdata);}serv
- 观察者模式(Observer Pattern)
m0_55576290
c++设计模式观察者模式
4.观察者模式(ObserverPattern)如果你有多个界面或组件需要响应任务参数的变化,可以使用观察者模式。当任务参数发生变化时,所有需要更新的界面或模块都会自动得到通知,并做出响应。比如,某个界面修改了参数,其他界面(例如显示结果或更新单位)可以自动刷新。示例:classTaskParametersObserver{public:virtualvoidupdate()=0;//更新方法};
- 代码随想录算法训练营第27天 | 第八章 贪心算法 part05
tt555555555555
C++学习学习笔记算法贪心算法leetcodec++笔记
文章目录第八章贪心算法part0556.合并区间738.单调递增的数字968.监控二叉树(可跳过)总结第八章贪心算法part0556.合并区间本题也是重叠区间问题,如果昨天三道都吸收的话,本题就容易理解了。别忘了添加最后一个区间56.合并区间classSolution{public:staticboolcmp(vector&a,vector&b){if(a[0]==b[0])returna[1]>
- 代码随想录算法训练营第二十七天 | 贪心算法 part01
sagen aller
算法贪心算法
455.分发饼干将胃口与饼干排序,从胃口最大的开始遍历,找到符合条件的饼干,不符合就找下一个。也就是说最大的饼干找能满足的最大的胃口。classSolution{public:intfindContentChildren(vector&g,vector&s){sort(g.begin(),g.end());sort(s.begin(),s.end());intresult=0;intj=s.siz
- 【Java】Java核心知识点与相应面试技巧(六)——类与对象(一)
self-discipline634
java面试开发语言
Java面向对象核心知识点(类与对象篇)前言:面向对象的本质:以类的方式组织代码,以对象的方式(组织)封装数据1.类与对象创建定义:类是一种抽象的数据类型,类是对象的模板,定义对象的(静态的)属性和(动态的)行为。1.1类定义与实例化publicclassPerson{//属性(字段)(成员变量)Stringname;intage;//方法voidspeak(){System.out.printl
- C#学习第6天:集合(Collections)深入解析
ghost143
学习c#开发语言
集合提供了一种动态存储多个对象的方法。与数组不同,集合可以根据需要动态调整大小,并提供了多种操作数据的工具。第一种:List列表usingSystem;usingSystem.Collections.Generic;publicclassListExample{publicstaticvoidMain(string[]args){Listfruits=newList(){"Apple","Bana
- LeetCode Hot 100 - 矩阵 | 73.矩阵置零、54.螺旋矩阵、48.旋转图像、240.搜索二维矩阵II
Amor_Fati_Yu
leetcode矩阵算法
73.矩阵置零新建两个boolean数组记录该行或列是否出现0,再使用数组更新矩阵。classSolution{publicvoidsetZeroes(int[][]matrix){intm=matrix.length;intn=matrix[0].length;boolean[]row=newboolean[matrix.length];boolean[]col=newboolean[matri
- leecode45.跳跃游戏||
ゞ 正在缓冲99%…
算法
跟正常的跳跃游戏差不多,每次都记录下一次可跳跃的最大距离,当前i值达到当前最大可跳跃距离时就继承下一次可跳跃最大距离,这个时候再将步数+1总体的贪心策略就是每次都在当前可跳跃范围内选择一个下一次可以覆盖更广的点进行跳跃classSolution{public:intjump(vector&nums){intresult=0;intcurCover=0,nextCover=0;//循环到size-1
- 【leetcode hot 100 45】跳跃游戏Ⅱ
longii11
leetcode游戏算法
解法一:递归classSolution{publicintjump(int[]nums){intn=nums.length;if(n==0){return0;}returnjumpHelper(nums,n-1,0);}publicintjumpHelper(int[]nums,intlocation,inttimes){//location是目前到达的位置;times是到达该位置跳的次数if(l
- c# Socket通讯封装类和DEMO
※※冰馨※※
VSc#php服务器
socket封装//////自定义Socket对象///publicclassSockets{//////空构造///publicSockets(){}//////创建Sockets对象//////Ip地址///TcpClient///承载客户端Socket的网络流publicSockets(IPEndPointip,TcpClientclient,NetworkStreamns){Ip=ip;C
- leetcode33.搜索旋转排序数组
ゞ 正在缓冲99%…
算法leetcode数据结构
思路源于【小白都能听懂的算法课】【力扣】【Leetcode33】搜索旋转排序数组|二分查找|数组主要是数组旋转后分为左右两个升序区间,如果mid落在左区间并且目标大小也在left-mid中,那么right右缩classSolution{publicintsearch(int[]nums,inttarget){intleft=0,right=nums.length-1;while(left<=rig
- C#TCP通讯封装服务器工具类
风,停下
C#网络协议c#tcp/ip服务器
C#TCP通讯封装服务器工具类1使用说明2封装1使用说明添加接受数据回调函数事件方式1:通过有参构造函数添加方式2:调用:publicEventHandlerAddEventToDataReceived添加输出日志回调函数事件方式1:通过有参构造函数添加方式2:调用:publicActionAddEventToOutLog监听客户端发送数据线程和向其他客户端转发消息的数据如何输出日志信息方式:设置
- scala的option和some
矮蛋蛋
编程scala
原文地址:
http://blog.sina.com.cn/s/blog_68af3f090100qkt8.html
对于学习 Scala 的 Java™ 开发人员来说,对象是一个比较自然、简单的入口点。在 本系列 前几期文章中,我介绍了 Scala 中一些面向对象的编程方法,这些方法实际上与 Java 编程的区别不是很大。我还向您展示了 Scala 如何重新应用传统的面向对象概念,找到其缺点
- NullPointerException
Cb123456
androidBaseAdapter
java.lang.NullPointerException: Attempt to invoke virtual method 'int android.view.View.getImportantForAccessibility()' on a null object reference
出现以上异常.然后就在baidu上
- PHP使用文件和目录
天子之骄
php文件和目录读取和写入php验证文件php锁定文件
PHP使用文件和目录
1.使用include()包含文件
(1):使用include()从一个被包含文档返回一个值
(2):在控制结构中使用include()
include_once()函数需要一个包含文件的路径,此外,第一次调用它的情况和include()一样,如果在脚本执行中再次对同一个文件调用,那么这个文件不会再次包含。
在php.ini文件中设置
- SQL SELECT DISTINCT 语句
何必如此
sql
SELECT DISTINCT 语句用于返回唯一不同的值。
SQL SELECT DISTINCT 语句
在表中,一个列可能会包含多个重复值,有时您也许希望仅仅列出不同(distinct)的值。
DISTINCT 关键词用于返回唯一不同的值。
SQL SELECT DISTINCT 语法
SELECT DISTINCT column_name,column_name
F
- java冒泡排序
3213213333332132
java冒泡排序
package com.algorithm;
/**
* @Description 冒泡
* @author FuJianyong
* 2015-1-22上午09:58:39
*/
public class MaoPao {
public static void main(String[] args) {
int[] mao = {17,50,26,18,9,10
- struts2.18 +json,struts2-json-plugin-2.1.8.1.jar配置及问题!
7454103
DAOspringAjaxjsonqq
struts2.18 出来有段时间了! (貌似是 稳定版)
闲时研究下下! 貌似 sruts2 搭配 json 做 ajax 很吃香!
实践了下下! 不当之处请绕过! 呵呵
网上一大堆 struts2+json 不过大多的json 插件 都是 jsonplugin.34.jar
strut
- struts2 数据标签说明
darkranger
jspbeanstrutsservletScheme
数据标签主要用于提供各种数据访问相关的功能,包括显示一个Action里的属性,以及生成国际化输出等功能
数据标签主要包括:
action :该标签用于在JSP页面中直接调用一个Action,通过指定executeResult参数,还可将该Action的处理结果包含到本页面来。
bean :该标签用于创建一个javabean实例。如果指定了id属性,则可以将创建的javabean实例放入Sta
- 链表.简单的链表节点构建
aijuans
编程技巧
/*编程环境WIN-TC*/ #include "stdio.h" #include "conio.h"
#define NODE(name, key_word, help) \ Node name[1]={{NULL, NULL, NULL, key_word, help}}
typedef struct node { &nbs
- tomcat下jndi的三种配置方式
avords
tomcat
jndi(Java Naming and Directory Interface,Java命名和目录接口)是一组在Java应用中访问命名和目录服务的API。命名服务将名称和对象联系起来,使得我们可以用名称
访问对象。目录服务是一种命名服务,在这种服务里,对象不但有名称,还有属性。
tomcat配置
- 关于敏捷的一些想法
houxinyou
敏捷
从网上看到这样一句话:“敏捷开发的最重要目标就是:满足用户多变的需求,说白了就是最大程度的让客户满意。”
感觉表达的不太清楚。
感觉容易被人误解的地方主要在“用户多变的需求”上。
第一种多变,实际上就是没有从根本上了解了用户的需求。用户的需求实际是稳定的,只是比较多,也比较混乱,用户一般只能了解自己的那一小部分,所以没有用户能清楚的表达出整体需求。而由于各种条件的,用户表达自己那一部分时也有
- 富养还是穷养,决定孩子的一生
bijian1013
教育人生
是什么决定孩子未来物质能否丰盛?为什么说寒门很难出贵子,三代才能出贵族?真的是父母必须有钱,才能大概率保证孩子未来富有吗?-----作者:@李雪爱与自由
事实并非由物质决定,而是由心灵决定。一朋友富有而且修养气质很好,兄弟姐妹也都如此。她的童年时代,物质上大家都很贫乏,但妈妈总是保持生活中的美感,时不时给孩子们带回一些美好小玩意,从来不对孩子传递生活艰辛、金钱来之不易、要懂得珍惜
- oracle 日期时间格式转化
征客丶
oracle
oracle 系统时间有 SYSDATE 与 SYSTIMESTAMP;
SYSDATE:不支持毫秒,取的是系统时间;
SYSTIMESTAMP:支持毫秒,日期,时间是给时区转换的,秒和毫秒是取的系统的。
日期转字符窜:
一、不取毫秒:
TO_CHAR(SYSDATE, 'YYYY-MM-DD HH24:MI:SS')
简要说明,
YYYY 年
MM 月
- 【Scala六】分析Spark源代码总结的Scala语法四
bit1129
scala
1. apply语法
FileShuffleBlockManager中定义的类ShuffleFileGroup,定义:
private class ShuffleFileGroup(val shuffleId: Int, val fileId: Int, val files: Array[File]) {
...
def apply(bucketId
- Erlang中有意思的bug
bookjovi
erlang
代码中常有一些很搞笑的bug,如下面的一行代码被调用两次(Erlang beam)
commit f667e4a47b07b07ed035073b94d699ff5fe0ba9b
Author: Jovi Zhang <bookjovi@gmail.com>
Date: Fri Dec 2 16:19:22 2011 +0100
erts:
- 移位打印10进制数转16进制-2008-08-18
ljy325
java基础
/**
* Description 移位打印10进制的16进制形式
* Creation Date 15-08-2008 9:00
* @author 卢俊宇
* @version 1.0
*
*/
public class PrintHex {
// 备选字符
static final char di
- 读《研磨设计模式》-代码笔记-组合模式
bylijinnan
java设计模式
声明: 本文只为方便我个人查阅和理解,详细的分析以及源代码请移步 原作者的博客http://chjavach.iteye.com/
import java.util.ArrayList;
import java.util.List;
abstract class Component {
public abstract void printStruct(Str
- 利用cmd命令将.class文件打包成jar
chenyu19891124
cmdjar
cmd命令打jar是如下实现:
在运行里输入cmd,利用cmd命令进入到本地的工作盘符。(如我的是D盘下的文件有此路径 D:\workspace\prpall\WEB-INF\classes)
现在是想把D:\workspace\prpall\WEB-INF\classes路径下所有的文件打包成prpall.jar。然后继续如下操作:
cd D: 回车
cd workspace/prpal
- [原创]JWFD v0.96 工作流系统二次开发包 for Eclipse 简要说明
comsci
eclipse设计模式算法工作swing
JWFD v0.96 工作流系统二次开发包 for Eclipse 简要说明
&nb
- SecureCRT右键粘贴的设置
daizj
secureCRT右键粘贴
一般都习惯鼠标右键自动粘贴的功能,对于SecureCRT6.7.5 ,这个功能也已经是默认配置了。
老版本的SecureCRT其实也有这个功能,只是不是默认设置,很多人不知道罢了。
菜单:
Options->Global Options ...->Terminal
右边有个Mouse的选项块。
Copy on Select
Paste on Right/Middle
- Linux 软链接和硬链接
dongwei_6688
linux
1.Linux链接概念Linux链接分两种,一种被称为硬链接(Hard Link),另一种被称为符号链接(Symbolic Link)。默认情况下,ln命令产生硬链接。
【硬连接】硬连接指通过索引节点来进行连接。在Linux的文件系统中,保存在磁盘分区中的文件不管是什么类型都给它分配一个编号,称为索引节点号(Inode Index)。在Linux中,多个文件名指向同一索引节点是存在的。一般这种连
- DIV底部自适应
dcj3sjt126com
JavaScript
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml&q
- Centos6.5使用yum安装mysql——快速上手必备
dcj3sjt126com
mysql
第1步、yum安装mysql
[root@stonex ~]# yum -y install mysql-server
安装结果:
Installed:
mysql-server.x86_64 0:5.1.73-3.el6_5 &nb
- 如何调试JDK源码
frank1234
jdk
相信各位小伙伴们跟我一样,想通过JDK源码来学习Java,比如collections包,java.util.concurrent包。
可惜的是sun提供的jdk并不能查看运行中的局部变量,需要重新编译一下rt.jar。
下面是编译jdk的具体步骤:
1.把C:\java\jdk1.6.0_26\sr
- Maximal Rectangle
hcx2013
max
Given a 2D binary matrix filled with 0's and 1's, find the largest rectangle containing all ones and return its area.
public class Solution {
public int maximalRectangle(char[][] matrix)
- Spring MVC测试框架详解——服务端测试
jinnianshilongnian
spring mvc test
随着RESTful Web Service的流行,测试对外的Service是否满足期望也变的必要的。从Spring 3.2开始Spring了Spring Web测试框架,如果版本低于3.2,请使用spring-test-mvc项目(合并到spring3.2中了)。
Spring MVC测试框架提供了对服务器端和客户端(基于RestTemplate的客户端)提供了支持。
&nbs
- Linux64位操作系统(CentOS6.6)上如何编译hadoop2.4.0
liyong0802
hadoop
一、准备编译软件
1.在官网下载jdk1.7、maven3.2.1、ant1.9.4,解压设置好环境变量就可以用。
环境变量设置如下:
(1)执行vim /etc/profile
(2)在文件尾部加入:
export JAVA_HOME=/home/spark/jdk1.7
export MAVEN_HOME=/ho
- StatusBar 字体白色
pangyulei
status
[[UIApplication sharedApplication] setStatusBarStyle:UIStatusBarStyleLightContent];
/*you'll also need to set UIViewControllerBasedStatusBarAppearance to NO in the plist file if you use this method
- 如何分析Java虚拟机死锁
sesame
javathreadoracle虚拟机jdbc
英文资料:
Thread Dump and Concurrency Locks
Thread dumps are very useful for diagnosing synchronization related problems such as deadlocks on object monitors. Ctrl-\ on Solaris/Linux or Ctrl-B
- 位运算简介及实用技巧(一):基础篇
tw_wangzhengquan
位运算
http://www.matrix67.com/blog/archives/263
去年年底写的关于位运算的日志是这个Blog里少数大受欢迎的文章之一,很多人都希望我能不断完善那篇文章。后来我看到了不少其它的资料,学习到了更多关于位运算的知识,有了重新整理位运算技巧的想法。从今天起我就开始写这一系列位运算讲解文章,与其说是原来那篇文章的follow-up,不如说是一个r
- jsearch的索引文件结构
yangshangchuan
搜索引擎jsearch全文检索信息检索word分词
jsearch是一个高性能的全文检索工具包,基于倒排索引,基于java8,类似于lucene,但更轻量级。
jsearch的索引文件结构定义如下:
1、一个词的索引由=分割的三部分组成: 第一部分是词 第二部分是这个词在多少