Delphi的计时器问题:会不会造成同时操作全局变量的冲突

假如有一个操作是增加一个全局变量的值,但是还有一个计时器也用于定时增加该全局变量的值,那么假如在执行前一个操作的时候同时计时器也正好触发执行,这样会不会有冲突。

以下面的代码为例,假如在你点击按钮的时候同时计时器被触发会怎么样?

 unit Unit1;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, StdCtrls, ExtCtrls;

type
  TForm1 = class(TForm)
    btn1: TButton;
    tmr1: TTimer;
    procedure btn1Click(Sender: TObject);
    procedure tmr1Timer(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  Form1: TForm1;
  i: Integer;

implementation

{$R *.dfm}

procedure TForm1.btn1Click(Sender: TObject);
begin
  Inc(i);
  btn1.Caption:= IntToStr(i)

end;

procedure TForm1.tmr1Timer(Sender: TObject);
begin
  Inc(i);
  btn1.Caption:= IntToStr(i);

end;

end.

3个回答

没有问题,按钮和计时器其实在一个消息队列中,是逐个处理的。

xumenger
xumenger 回复Tiger_Zhao: 谢谢
接近 5 年之前 回复
xumenger
xumenger 回复带尔飞: 谢谢!!
接近 5 年之前 回复
VBnull
addi119 逐个处理,不会冲突的
接近 5 年之前 回复
Tiger_Zhao
Tiger_Zhao 回复xumenger: 总是有微小的前后差别的,不可能有正真的“同时”。
接近 5 年之前 回复
xumenger
xumenger 假如在点击按钮的同时正好计时器也响应了,那么是随机先执行其中一个,然后在顺序执行另外一个?是这样的吗?
接近 5 年之前 回复

计时器是消息队列中,不会同时的!不存在并发的问题,如果是线程的话,就需要处理同步

Timer是一种最少计数为毫秒(1/1000秒)的计时器,它可以1毫秒,执行一次事件。

Timer基本上是两种用法:
一、定时启动,代码完成后,终止。此类问题通常情况下,不会有任何问题。

二、每天定时启动代码,完成每天的记录功能。
此类操作要注意:
1、TTimer事件中,只执行全局变量,对VCL的操作,通发送过消息。
2、不宜在TTimer事件中,执行有形的控件,特别是涉及到读写磁盘或画面的代码,代码执行时会滞留时间,会造成TTimer计量,与代码执行不同步问题。
3、在事件中调用外部程序,特别是程序中涉及控件的写画,程序会返回到事件的起步代码,因而出现“频闪”现象。即一次事件中,循环执行数十次。

procedure TForm1.tmr1Timer(Sender: TObject);
begin
Inc(i);
btn1.Caption:= IntToStr(i);
end;

虽然可以执行,但不完美。应该通过发送消息,来显示btn1.Caption。 建议改成:

procedure TForm1.Timer1Timer(Sender: TObject);
var s:string;
begin
i:=i+1;
S:=IntTostr(i);
SendMessage(Button1.handle, WM_SETTEXT, 0, LPARAM(S));
application.ProcessMessages;
end;

Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
其他相关推荐
delphi 调用子窗体传值的问题?

有2个窗体调用一个子窗体, 第一个窗体传值给子窗体可以,第二个窗体传值有值的,跟踪到子窗体时值为空。 子窗体是动态创建的。 比如第一个窗体传值: sName := '1'; 子窗体SHOW时显示1;正确。 第二个窗体传值过去: sName := '2'; 子窗体SHOW时是空,问题就在这里了? 第一个窗体用的是全局变量sName,第二个窗体也是一个sName的全局变量。

Delphi中,怎么获取DLL中定义的变量

可以使用动态加载或静态加载的方式使用DLL中的方法,但是怎么能够获取DLL中定义的变量来使用它呢?

Delphi Application.MainFormOnTaskbar := True;

大家有没发现在个问题就是当项目加入 Application.MainFormOnTaskbar := True; 后,MainForm不能显示在同一项目的其它窗口前面?, 即为,当有 form1 ,form2两个窗口,form1为MainForm,当两个窗口都显示时,form1只能显示在form2后面, 当把Application.MainFormOnTaskbar := True;去掉的话,如果你的form2有用到 Ribbon控件的话,每点完Ribbon的button,form2就自动跳到form1后面, 当Application.MainFormOnTaskbar := True的话,就不会出现Ribbon的问题,但就会出现form1不能在form2前面的问题。 今天我试了一天了,大家有没更好的办法?

delphi新手求大神解答,image.picture:=nil把图像清空后

procedure TForm1.N6Click(Sender: TObject); //裁剪上边 var rgn: Hrgn; Bmp: TBitmap; str: string; num: integer; begin str:=''; InputQuery('裁剪大小设定','输入数值',str); if str='' then begin ShowMessage('输入值不能为空请重新输入!'); end else begin num:=strtoint(str); Bmp:= TBitmap.Create; Bmp.Assign(image1.Picture.Bitmap); //创建剪切区域 rgn:= CreateRectRgn(0,num,Bmp.Width,Bmp.Height-num); //选中剪切区域 SelectClipRgn(image1.Canvas.Handle,rgn); //清空图像 image1.Picture := nil; //image1.Picture.Bitmap.FreeImage; BitBlt(image1.Canvas.Handle,0,num,Bmp.Width,Bmp.Height-num,Bmp.Canvas.Handle,0,num,SRCCOPY); //空白处还不知道怎么处理。。。 Bmp.Free; end; 把图片剪切,背景的白色如何能适应剪切后的图片大小

DELPHI如何通过VISA与USB设备通信

Private Sub Command1_Click() Dim defrm As Long Dim vi As Long ' 获得visa的usb资源 Call viOpenDefaultRM(defrm) ' 打开设备 Call viOpen(defrm, "USB0::0x1AB1::0x0E11::DP8F192200227::INSTR", 0, 0, vi) '发送设置命令 Call viVPrintf(vi, ":OUTP CH1,ON" + Chr$(10), 0) ' 关闭资源 Call viClose(vi) Call viClose(defrm) End Sub 以上是VB编写的通过USB控制DP831直流电源的程序,测试没问题。但我将该段代码转换成Delphi后,运行报错,请高手指点下迷津!以下是我的Delphi代码 function viOpenDefaultRM(sesn1:PLongint):Longint;stdcall external 'visa32.dll'; function viOpen(sesn1:PLongint;rsrcName:PChar;acessMode:Longint;timeout:Longint;sesn2:PLongint):Longint;stdcall external 'visa32.dll'; function viPrintf( vi:PLongint; writeFmt:pchar;ss:Longint): integer; Cdecl; external 'VISA32.DLL' ; function viClose(sesn:PLongint):Longint;stdcall external 'visa32.dll'; procedure TForm1.Button1Click(Sender: TObject); var defrm,vi:PLongint; begin // 获得visa的usb资源 viOpenDefaultRM(defrm); //打开设备 viOpen(defrm,'USB0::0x1AB1::0x0E11::DP8F192200227::INSTR', 0, 0, vi); //发送设置命令 viPrintf(vi,':OUTP CH1,ON'+#10, 0); viClose(vi); viClose(defrm); end; 不知是哪里出了问题?

DELPHI 查询sql2008r2问题!

疯了,群里有会delphi的没,2008R2 查询一个月数据没问题,查询一年数据 报错,“对象被打开” 如果只查询一列,一年数据可正常查询! C# 其他程序查询都没问题。。。。。 主程序是delphi的,所以需要用主程序! 使用 delphi7开发简单链接,一个月可以查询,一年数据报错! 尝试使用 delphi xe7 问题一样!使用 .net写个简单链接无问题! ![图片说明](https://img-ask.csdn.net/upload/201602/21/1456043703_151044.png) delphi xe7写的简单查询 ![图片说明](https://img-ask.csdn.net/upload/201602/21/1456043652_946173.png) delphi7 写的简单查询 ![图片说明](https://img-ask.csdn.net/upload/201602/21/1456043664_152642.png)

使用Delphi如何解决字符串分割的问题

有一条字符串 'a1-a3,b5/f2,f4-f7/c9' ,我想得到的结果是:a1 a2 a3 b5 f2 f4 f5 f6 f7 c9. 难度挺大的,不知哪位老师能帮忙解决下。先谢了!

C#调用Delphi dll文件问题

最近手头一个项目,需要用到C#调用Delphi写出的dll文件(调用的是modelDLL.dll,但是该dll文件还需要另外一个borlndmm.dll文件支持,调用的时候已经把这两个dll文件放到debug目录下了),直接附上相关代码: Delphi相关源码: ``` type TCharStr=array[0..599] of char; ``` 用Delphi写的直接调用可运行,代码如下: ``` procedure TMainDLLForm.PedBitBtnClick(Sender: TObject); var fileName:TCharStr; begin OpenDataFileDlg.InitialDir:= GetCurrentDir; OpenDataFileDlg.Title:='加载模型文件'; OpenDataFileDlg.Filter := '定量模型[*.mdl]|*.mdl|定性模型[*.mdr]|*.mdr'; if OpenDataFileDlg.Execute then begin StrPCopy(FileName,OpenDataFileDlg.FileName); tmpD:=NIRSAModelForPred(graphyData,dataLength,FileName,targetName); end; if compareText(fileExt,'.MDR')=0 then begin memo1.Lines.Add('定性模型: '+ExtractFileName(FileName)); memo1.Lines.Add(Format('预测结果: %10s:%0.0f',[targetName,tmpD])); end; memo1.Lines.Add('--------------'); memo1.Lines.Add(trim(NIRSAPretreatInfor(FileName)));//调用该函数 memo1.Lines.Add('--------------'); memo1.Lines.Add(trim(NIRSAModelInfor(FileName))); end; ``` 而我现在用C#调用出现"尝试读取或写入受保护的内存。这通常指示其他内存已损坏"的错误,代码如下所示: ``` [MarshalAs(UnmanagedType.LPStr, SizeConst = 600)] public string fileName; [DllImport(@"modelDLL.dll", CharSet = CharSet.Auto, CallingConvention = CallingConvention.StdCall)] [return: MarshalAs(UnmanagedType.LPStr, SizeConst = 600)] public static extern string NIRSAPretreatInfor(ref string fileName); private void preCalcButton_Click(object sender, EventArgs e) { OpenFileDialog dialog = new OpenFileDialog(); dialog.Multiselect = false; if (dialog.ShowDialog() == System.Windows.Forms.DialogResult.OK) { fileName = dialog.FileName; string result = NIRSAPretreatInfor(ref fileName); modelInfoTextBox.Text = result; } } ``` 该段代码主要参考Stack Overflow的一些解决方案,地址:[链接](https://stackoverflow.com/questions/5105460/delphi-dll-in-c-sharp-var-array-as-parameter ""),现在解决不了,没有C币了,请大神支支招,谢谢!

Delphi 错误:incompatible types

function SnapCallBack(iCamID: integer; pImageBuffer: PByte; pFrInfo: PFrameInfo): integer;stdcall; var sFrInfo: tDSFrameInfo; pIsp: PByte;begin sFrInfo := pFrInfo^; pIsp := CameraISP(iCamID, pImageBuffer, pFrInfo);//出错语句!!! CameraDisplayRGB24(iCamID, pIsp, pFrInfo); result := 0; end;补充API: Function: 图像数据处理 Parameter: 1 In INT iCameraID 摄像头ID,回调函数参数 2 In BYTE *pbyRAW 图像数据首地址,回调函数参数 3 In FrameInfo sFrInfo 图像帧数据信息,参见FrameInfo定义Return: 调用成功返回RGB24图像数据首地址,失败返回NULLNotification: *************************************************************** type pFrameInfo = ^tDSFrameInfo; function CameraISP(iCameraID:integer;pbyRAW: PByte; sFrInfo: pFrameInfo):PByte;cdecl;****

delphi串口通讯相关问题

我是一个delphi小白,想问一些基本的东西 var Hcomm:THandle是什么意思?怎样才能出现这个?在学习串口通讯协议可是下载的相关文件里。代码里有这串,可是我按照步骤来却没有。这是怎么回事?

Delphi ListBox控件/事件: 选择路径下的文件的处理.

Delphi ListBox控件/事件: 选择路径下的文件的处理.如下: ![图片说明](https://img-ask.csdn.net/upload/201702/21/1487607819_483214.png) 1.点击ListBox控件引发事件: 让该文件的文件名后缀变化为: ".a0"; 2.点击ListBox控件引发事件: 让该文件被剪切后指定的其它路径下: C:/TEST路径下; 3.点击ListBox控件引发事件: 让该文件被复制到指定的其它路径下: C:/TEST路径下;

delphi连接数据库的的操作问题

![图片说明](https://img-ask.csdn.net/upload/201605/11/1462956915_591746.png) 我已经编辑好了这个界面,也连接好了数据库,数据库也创建好了,怎么样添加 新增,修改,删除,保存的代码?

Delphi ADVstringgrid的问题

在Delphi7编程时,用了Advstringgrid控件,在StringGrid2GetEditorType事件中,给第3列增加了控件 if ACol = 3 then begin aEditor := edEditBtn; end; 我的想法是:即可以通过按钮调取数据列表,然后选择数据,也可以在输入数据后,系统自动判断输入数据的合合法性,如果合法则通过,不合法则提示不合法,并清空刚才输入数据。 我在StringGrid2SetEditText事件中,写入如下语句,但是不生效,刚才输入的数据还在,我现在就想怎么可以把数据清空。 stringgrid2.cells[3,ARow]:=''; stringgrid2.Refresh; 全部的代码是 unit Unit1; interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, Grids, BaseGrid, AdvGrid; type TForm1 = class(TForm) StringGrid2: TAdvStringGrid; procedure StringGrid2GetEditorType(Sender: TObject; ACol, ARow: Integer; var AEditor: TEditorType); procedure StringGrid2SetEditText(Sender: TObject; ACol, ARow: Integer; const Value: String); private { Private declarations } public { Public declarations } end; var Form1: TForm1; implementation {$R *.dfm} procedure TForm1.StringGrid2GetEditorType(Sender: TObject; ACol, ARow: Integer; var AEditor: TEditorType); begin if ACol = 3 then begin aEditor := edEditBtn; end; end; procedure TForm1.StringGrid2SetEditText(Sender: TObject; ACol, ARow: Integer; const Value: String); begin stringgrid2.cells[3,ARow]:='bbbbb'; stringgrid2.Refresh; end; end.

delphi mediaplay 播放问题

delphi mediaplay 播放问题 ,在XP系统中可以播放MP3音乐,为什么一模一样的到了W7里面就不能播放了,提示无法播发该类型文件。

Delphi结构体的对齐问题

Delphi结构体的对齐问题,Delphi的PChar是几个字节,Short和PChar是不是需要按照4字节对齐?

Delphi的TClientSocket初级疑难

在XE2下,使用TClientSocket,设置好Host和Port属性后,在设计期可以将属性Active更改为True,但是在运行期,运行代码: cskOne.Active := True; 然后再查属性Active的值依然为False,多次尝试,无果! 即使使用代码替换: cskOne.Open; 也一样无法将属性Active的值更改为True,很是纳闷。 补充说明,设计期直接设置属性Active的值为True,可以正常发送数据包,如果设计期为False后,运行期不能改为True,所以无法发送数据包。 求指明一条通往正解的道路,谢谢!

delphi 防止结束进程 或全局钩子

各位大大,我的一个程序想防止被杀,网上找了很多资料,但delphi7能用的确实没找到,只需要windows的资源管理器不能结束就ok,其他没什么要求, 像全局hook也好,或是双进程亦或是三进程守护也罢.都可以,但一定要能用.谁能给我个代码,确实很急,消息方面是我的盲区,一点都不行,之前是自己学的数据库编程,其他没经验.还请各位大大们给点源码,只要能用就行.先行谢谢了. 但如果写进系统服务中,貌似听说win7中不能用,所以暂时不考虑这东西.

Delphi中不同的循环语句,是否会造成性能差异?

循环1: for i := 1 to 64 do begin TListViewAddColumn(ListView, GetClStr(Colm[i]), taRightJustify, Column[i]); end; 循环2: repeat TListViewAddColumn(ListView, GetClStr(Colm[i]), taRightJustify, Column[i]); pTmpNode := pTmpNode.next; until pTmpNode = pHeadNode 循环1 以及循环2都执行了64次,循环体中的代码完全一致。不同的地方在于循环2,是对链表节点的访问。就这点差异,造成的结果是 循环2的运行时间明显多于循环1。我测了很多次,循环1的执行时间分布在200 - 300毫秒之间,而循环2的执行时间分布在450 - 600毫秒之间。各位同仁朋友是否有遇到这种情况的,麻烦解答一下,多谢了。 注:为了不造成不必要的误解,我稍微解释一下,循环2中的变量 i其实就是链表每个节点的数据域的值 (pTmpNode.data),即 i = pTmpNode.data, 因为写成pTmpNode.data会使代码很长。

关于delphi编写的程序在某些操作系统上运行出错的问题

大家好 本人从事程序测试工作3年左右 还属于菜鸟级别 目前遇到了一个比较棘手的问题 希望高手可以指点 关于delphi编写的程序在某些操作系统上运行出错的问题:同样的程序在xp系统可以正常运行 在win7某些系统可以 某些系统不行(即使是win7旗舰版32位正常安装的已经打上sp1补丁的系统) 所加的断点不起作用 不能够显示 直接抛系统错误(外部组件异常之类的) 希望精通delphi程序以及操作系统的高手可以指点下 如果可以远程就再好不过了 可以加我qq 或者加您qq 谢谢亲们~ 正在努力赚取C币中。。。。。

在中国程序员是青春饭吗?

今年,我也32了 ,为了不给大家误导,咨询了猎头、圈内好友,以及年过35岁的几位老程序员……舍了老脸去揭人家伤疤……希望能给大家以帮助,记得帮我点赞哦。 目录: 你以为的人生 一次又一次的伤害 猎头界的真相 如何应对互联网行业的「中年危机」 一、你以为的人生 刚入行时,拿着傲人的工资,想着好好干,以为我们的人生是这样的: 等真到了那一天,你会发现,你的人生很可能是这样的: ...

技术大佬:我去,你写的 switch 语句也太老土了吧

昨天早上通过远程的方式 review 了两名新来同事的代码,大部分代码都写得很漂亮,严谨的同时注释也很到位,这令我非常满意。但当我看到他们当中有一个人写的 switch 语句时,还是忍不住破口大骂:“我擦,小王,你丫写的 switch 语句也太老土了吧!” 来看看小王写的代码吧,看完不要骂我装逼啊。 private static String createPlayer(PlayerTypes p...

华为初面+综合面试(Java技术面)附上面试题

华为面试整体流程大致分为笔试,性格测试,面试,综合面试,回学校等结果。笔试来说,华为的难度较中等,选择题难度和网易腾讯差不多。最后的代码题,相比下来就简单很多,一共3道题目,前2题很容易就AC,题目已经记不太清楚,不过难度确实不大。最后一题最后提交的代码过了75%的样例,一直没有发现剩下的25%可能存在什么坑。 笔试部分太久远,我就不怎么回忆了。直接将面试。 面试 如果说腾讯的面试是挥金如土...

和黑客斗争的 6 天!

互联网公司工作,很难避免不和黑客们打交道,我呆过的两家互联网公司,几乎每月每天每分钟都有黑客在公司网站上扫描。有的是寻找 Sql 注入的缺口,有的是寻找线上服务器可能存在的漏洞,大部分都...

讲一个程序员如何副业月赚三万的真实故事

loonggg读完需要3分钟速读仅需 1 分钟大家好,我是你们的校长。我之前讲过,这年头,只要肯动脑,肯行动,程序员凭借自己的技术,赚钱的方式还是有很多种的。仅仅靠在公司出卖自己的劳动时...

win10暴力查看wifi密码

刚才邻居打了个电话说:喂小灰,你家wifi的密码是多少,我怎么连不上了。 我。。。 我也忘了哎,就找到了一个好办法,分享给大家: 第一种情况:已经连接上的wifi,怎么知道密码? 打开:控制面板\网络和 Internet\网络连接 然后右击wifi连接的无线网卡,选择状态 然后像下图一样: 第二种情况:前提是我不知道啊,但是我以前知道密码。 此时可以利用dos命令了 1、利用netsh wlan...

上班一个月,后悔当初着急入职的选择了

最近有个老铁,告诉我说,上班一个月,后悔当初着急入职现在公司了。他之前在美图做手机研发,今年美图那边今年也有一波组织优化调整,他是其中一个,在协商离职后,当时捉急找工作上班,因为有房贷供着,不能没有收入来源。所以匆忙选了一家公司,实际上是一个大型外包公司,主要派遣给其他手机厂商做外包项目。**当时承诺待遇还不错,所以就立马入职去上班了。但是后面入职后,发现薪酬待遇这块并不是HR所说那样,那个HR自...

总结了 150 余个神奇网站,你不来瞅瞅吗?

原博客再更新,可能就没了,之后将持续更新本篇博客。

副业收入是我做程序媛的3倍,工作外的B面人生是怎样的?

提到“程序员”,多数人脑海里首先想到的大约是:为人木讷、薪水超高、工作枯燥…… 然而,当离开工作岗位,撕去层层标签,脱下“程序员”这身外套,有的人生动又有趣,马上展现出了完全不同的A/B面人生! 不论是简单的爱好,还是正经的副业,他们都干得同样出色。偶尔,还能和程序员的特质结合,产生奇妙的“化学反应”。 @Charlotte:平日素颜示人,周末美妆博主 大家都以为程序媛也个个不修边幅,但我们也许...

如果你是老板,你会不会踢了这样的员工?

有个好朋友ZS,是技术总监,昨天问我:“有一个老下属,跟了我很多年,做事勤勤恳恳,主动性也很好。但随着公司的发展,他的进步速度,跟不上团队的步伐了,有点...

我入职阿里后,才知道原来简历这么写

私下里,有不少读者问我:“二哥,如何才能写出一份专业的技术简历呢?我总感觉自己写的简历太烂了,所以投了无数份,都石沉大海了。”说实话,我自己好多年没有写过简历了,但我认识的一个同行,他在阿里,给我说了一些他当年写简历的方法论,我感觉太牛逼了,实在是忍不住,就分享了出来,希望能够帮助到你。 01、简历的本质 作为简历的撰写者,你必须要搞清楚一点,简历的本质是什么,它就是为了来销售你的价值主张的。往深...

带了6个月的徒弟当了面试官,而身为高级工程师的我天天修Bug......

即将毕业的应届毕业生一枚,现在只拿到了两家offer,但最近听到一些消息,其中一个offer,我这个组据说客户很少,很有可能整组被裁掉。 想问大家: 如果我刚入职这个组就被裁了怎么办呢? 大家都是什么时候知道自己要被裁了的? 面试软技能指导: BQ/Project/Resume 试听内容: 除了刷题,还有哪些技能是拿到offer不可或缺的要素 如何提升面试软实力:简历, 行为面试,沟通能...

!大部分程序员只会写3年代码

如果世界上都是这种不思进取的软件公司,那别说大部分程序员只会写 3 年代码,恐怕就没有程序员这种职业。

离职半年了,老东家又发 offer,回不回?

有小伙伴问松哥这个问题,他在上海某公司,在离职了几个月后,前公司的领导联系到他,希望他能够返聘回去,他很纠结要不要回去? 俗话说好马不吃回头草,但是这个小伙伴既然感到纠结了,我觉得至少说明了两个问题:1.曾经的公司还不错;2.现在的日子也不是很如意。否则应该就不会纠结了。 老实说,松哥之前也有过类似的经历,今天就来和小伙伴们聊聊回头草到底吃不吃。 首先一个基本观点,就是离职了也没必要和老东家弄的苦...

HTTP与HTTPS的区别

面试官问HTTP与HTTPS的区别,我这样回答让他竖起大拇指!

程序员毕业去大公司好还是小公司好?

虽然大公司并不是人人都能进,但我仍建议还未毕业的同学,尽力地通过校招向大公司挤,但凡挤进去,你这一生会容易很多。 大公司哪里好?没能进大公司怎么办?答案都在这里了,记得帮我点赞哦。 目录: 技术氛围 内部晋升与跳槽 啥也没学会,公司倒闭了? 不同的人脉圈,注定会有不同的结果 没能去大厂怎么办? 一、技术氛围 纵观整个程序员技术领域,哪个在行业有所名气的大牛,不是在大厂? 而且众所...

程序员为什么千万不要瞎努力?

本文作者用对比非常鲜明的两个开发团队的故事,讲解了敏捷开发之道 —— 如果你的团队缺乏统一标准的环境,那么即使勤劳努力,不仅会极其耗时而且成果甚微,使用...

为什么程序员做外包会被瞧不起?

二哥,有个事想询问下您的意见,您觉得应届生值得去外包吗?公司虽然挺大的,中xx,但待遇感觉挺低,马上要报到,挺纠结的。

当HR压你价,说你只值7K,你该怎么回答?

当HR压你价,说你只值7K时,你可以流畅地回答,记住,是流畅,不能犹豫。 礼貌地说:“7K是吗?了解了。嗯~其实我对贵司的面试官印象很好。只不过,现在我的手头上已经有一份11K的offer。来面试,主要也是自己对贵司挺有兴趣的,所以过来看看……”(未完) 这段话主要是陪HR互诈的同时,从公司兴趣,公司职员印象上,都给予对方正面的肯定,既能提升HR的好感度,又能让谈判气氛融洽,为后面的发挥留足空间。...

面试:第十六章:Java中级开发(16k)

HashMap底层实现原理,红黑树,B+树,B树的结构原理 Spring的AOP和IOC是什么?它们常见的使用场景有哪些?Spring事务,事务的属性,传播行为,数据库隔离级别 Spring和SpringMVC,MyBatis以及SpringBoot的注解分别有哪些?SpringMVC的工作原理,SpringBoot框架的优点,MyBatis框架的优点 SpringCould组件有哪些,他们...

面试阿里p7,被按在地上摩擦,鬼知道我经历了什么?

面试阿里p7被问到的问题(当时我只知道第一个):@Conditional是做什么的?@Conditional多个条件是什么逻辑关系?条件判断在什么时候执...

终于懂了TCP和UDP协议区别

终于懂了TCP和UDP协议区别

Python爬虫,高清美图我全都要(彼岸桌面壁纸)

爬取彼岸桌面网站较为简单,用到了requests、lxml、Beautiful Soup4

无代码时代来临,程序员如何保住饭碗?

编程语言层出不穷,从最初的机器语言到如今2500种以上的高级语言,程序员们大呼“学到头秃”。程序员一边面临编程语言不断推陈出新,一边面临由于许多代码已存在,程序员编写新应用程序时存在重复“搬砖”的现象。 无代码/低代码编程应运而生。无代码/低代码是一种创建应用的方法,它可以让开发者使用最少的编码知识来快速开发应用程序。开发者通过图形界面中,可视化建模来组装和配置应用程序。这样一来,开发者直...

面试了一个 31 岁程序员,让我有所触动,30岁以上的程序员该何去何从?

最近面试了一个31岁8年经验的程序猿,让我有点感慨,大龄程序猿该何去何从。

大三实习生,字节跳动面经分享,已拿Offer

说实话,自己的算法,我一个不会,太难了吧

程序员垃圾简历长什么样?

已经连续五年参加大厂校招、社招的技术面试工作,简历看的不下于万份 这篇文章会用实例告诉你,什么是差的程序员简历! 疫情快要结束了,各个公司也都开始春招了,作为即将红遍大江南北的新晋UP主,那当然要为小伙伴们做点事(手动狗头)。 就在公众号里公开征简历,义务帮大家看,并一一点评。《启舰:春招在即,义务帮大家看看简历吧》 一石激起千层浪,三天收到两百多封简历。 花光了两个星期的所有空闲时...

美团面试,问了ThreadLocal原理,这个回答让我通过了

他想都想不到,ThreadLocal我烂熟于心

大牛都会用的IDEA调试技巧!!!

导读 前天面试了一个985高校的实习生,问了他平时用什么开发工具,他想也没想的说IDEA,于是我抛砖引玉的问了一下IDEA的调试用过吧,你说说怎么设置断点...

面试官:你连SSO都不懂,就别来面试了

大厂竟然要考我SSO,卧槽。

立即提问
相关内容推荐