java小白真诚求教关于JFrame中的问题

我在自学过程中遇到以下问题,虽然简单,但是针对困扰我很久
希望能得到帮助:
1.JFrame有没有重写JComponent的setsize方法?
2.如果有,那为什么在JFrame的源代码里没有看到setsize方法?
3.为什么继承Jframe类的类中,构造方法里可以不加对象引用也不加
对象名而直接使用setsize等方法?、
4.为什么创建窗体时需要在构造方法里写各种代码而不是在其他普通方法里?

2个回答

第一个问题,JFrame 是继承 Frame ,而 Frame 继承 Window ,只有 window 是有 setSize 方法的,而不是继承 JFComponnet 方法的。
setSize 这种基础功能,是由 Container 容器类实现的,没有必要再重写了。
第二个,可以在自己定义的继承自 JFrame 类中重写 setSize 方法。
第三个,一般自定义的继承自 JFrame 的类,需要提供丰富的组件,所以一般都是在构造函数中完成对组件对象的初始化工作,当然,如果没有需要复杂成员需要初始化,构造函数也可以不提供。
第四个,因为构造函数中初始化组件对象,然后才能在 JFrame 创建完成后调用 paint 绘图时将各个组件也绘制完成,如果不对自定组件初始化,自定义的 JFrame 中的组件就不会渲染了。

qq_40068152
A.$.CE 回复毕小宝: 谢谢
3 个月之前 回复
wojiushiwo945you
毕小宝 回复A.$.CE: 可以的,因为它是从最上层父类继承过来的方法。
3 个月之前 回复
qq_40068152
A.$.CE 请问在没有实例化JFrame的情况下也可以直接调用setsize这样的函数吗,语法上没有问题吗?
3 个月之前 回复
caozhy
贵阳老马马善福专业维修游泳池堵漏防水工程 分条缕析,值得采纳
3 个月之前 回复
Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
其他相关推荐
java 如何在jframe并行显示几个别的jframe中的内容
java 如何在jframe并行显示别的类jframe中的内容
Java中如何动态修改JFrame的内容?
JFrame中有一个文本框、一个按钮和其他组件,通过点击按钮改变文本框中的内容,但不能改变其他组建的内容? 如何做? ![中间正方形是按钮](https://img-ask.csdn.net/upload/201705/06/1494052376_739183.png)
求教JFrame和JDialog的问题
有个需求,在swing的JFrame中有上一条、下一条按钮,点击上一条,关闭当前JFrame,显示JDialog(JDialog中是一个不确定进度条),当下一个JFrame加载好了,关闭JDialog,显示JFrame。 问题是,当下一个JFrame加载完成之前,JDialog处于假死状态,显示不出来不确定进度条,任何文字都不会显示,当JFrame成功显示出来的时候,JDialog才会显示。打不到我想要的效果 求大神赐教,以下是效果图 ![这是个例子,是一个编辑界面](https://img-ask.csdn.net/upload/201608/16/1471312762_114206.png) ![这个时候应该是显示进度条的,可现在是假死状态](https://img-ask.csdn.net/upload/201608/16/1471312943_47052.png) ![等到后面的JFrame加载出来,才会显示进度条,打不到想要的效果](https://img-ask.csdn.net/upload/201608/16/1471312957_475094.png) 代码: import java.awt.event.ActionEvent; import java.awt.event.ActionListener; import javax.swing.JButton; import javax.swing.JFrame; import javax.swing.JPanel; public class MainFrame{ private JFrame mf = new JFrame(); private JButton previousRecordButton = null; private JButton nextRecordButton = null; public MainFrame(){ Thread initThread = new Thread(new Runnable() { @Override public void run() { init(); } }); initThread.start(); (new WaitDialog(mf, initThread)).start();// 启动等待提示框线程 mf.setVisible(true); } public void init(){ JPanel mainPane = new JPanel(null); previousRecordButton = new JButton("上一条"); previousRecordButton.setBounds(20, 350, 100, 25); nextRecordButton = new JButton("下一条"); nextRecordButton.setBounds(240, 350, 100, 25); previousRecordButton.addActionListener(new ActionListener() { @Override public void actionPerformed(ActionEvent ae) { close(); new DoOpen().open(); } }); nextRecordButton.addActionListener(new ActionListener() { @Override public void actionPerformed(ActionEvent ae) { close(); new DoOpen().open(); } }); mainPane.add(previousRecordButton); mainPane.add(nextRecordButton); mf.add(mainPane); // this.setUndecorated(true); // 除去title mf.setResizable(true); mf.setSize(390, 500); mf.setLocationRelativeTo(null); // 设置此窗口相对于指定组件的位置 mf.setAlwaysOnTop(true); } public void close(){ mf.dispose(); } } ``` ``` import javax.swing.JDialog; import javax.swing.JFrame; import javax.swing.JLabel; import javax.swing.JPanel; import javax.swing.JProgressBar; /** * @ClassName: WaitDialog * @Description: TODO * @author Wangjj * @date 2016年8月16日 上午9:09:54 */ public class WaitDialog extends Thread { private JDialog dialog = null; private JLabel lbStatus; private JProgressBar progressBar; private JFrame parentFrame = null; private Thread currentThread = null; public WaitDialog(JFrame parentFrame, Thread currentThread) { this.parentFrame = parentFrame; this.currentThread = currentThread; initWaitDialogUI();// 初始化提示框 } /** * 构建显示进度条的对话框 */ private void initWaitDialogUI() { dialog = new JDialog(parentFrame); JPanel mainPane = new JPanel(null); progressBar = new JProgressBar(); progressBar.setIndeterminate(true); progressBar.setBounds(20, 20, 340, 15); lbStatus = new JLabel("正在加载, 请稍后 ..."); lbStatus.setBounds(20, 60, 350, 25); mainPane.add(progressBar); mainPane.add(lbStatus); dialog.add(mainPane); // dialog.setUndecorated(true); // 除去title dialog.setModal(false); dialog.setResizable(true); dialog.setSize(390, 150); dialog.setLocationRelativeTo(null); // 设置此窗口相对于指定组件的位置 (new DisposeWaitDialog(currentThread,dialog)).start();// 启动关闭提示框线程 } public void run(){ dialog.setAlwaysOnTop(true); dialog.setVisible(true); } } ``` ``` import javax.swing.JDialog; public class DisposeWaitDialog extends Thread{ private Thread currentThread = null; private JDialog clueDiag = null; public DisposeWaitDialog(Thread currentThread, JDialog clueDiag) { this.currentThread = currentThread; this.clueDiag = clueDiag; } public void run() { try { currentThread.join(); } catch (InterruptedException e) { System.out.println("Exception:" + e); } clueDiag.dispose();// 关闭提示框 } } ``` ``` public class DoOpen { MainFrame mf = null; public void open(){ mf = new MainFrame(); } public static void main(String[] args) { new DoOpen().open(); } } ``` ```
java中JFrame中使控件居中问题
import javax.swing.*; import java.awt.*; public class Test { public static void main(String args[]){ JFrame frame=new JFrame("测试"); JButton button1=new JButton("位置"); frame.setLayout(null); frame.add(button1); frame.setBounds(100,100,300,300); button1.setBounds(120,136,60,28); frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); frame.setVisible(true); } }
关于Java中JFrame继承的问题
如图,想问一下,为何我这里this无法调用setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); ![图片说明](https://img-ask.csdn.net/upload/201812/23/1545540693_594952.png)
java使用JFrame实现界面跳转时点击按键一次却出现两个一模一样的界面是怎么回事?
本人java初学者,想做一个信息管理系统,中间的功能已经实现的差不多了,但是出现了一个问题: ![图片说明](https://img-ask.csdn.net/upload/202001/10/1578643514_726314.png) 当我点击这个"返回"按钮时,会弹出两个一模一样的面板,(两个面板是重叠在一起的,我这里把他们拉开了) ![图片说明](https://img-ask.csdn.net/upload/202001/10/1578643628_820862.png) 但我的代码里并没有出现两次啊,而且在其他的功能中,点击返回按键,也只会出现一个面板啊,请大佬们指导一下,感激不尽! 涉及的部分代码如下: (这是图一面板的部分代码,下面是设置面板布局之类的代码,就不放了) ![图片说明](https://img-ask.csdn.net/upload/202001/10/1578643832_509138.png) 这是图一事件监听的部分代码 ![图片说明](https://img-ask.csdn.net/upload/202001/10/1578643920_912714.png) 接下来是图二(菜单面板)的部分代码 ![图片说明](https://img-ask.csdn.net/upload/202001/10/1578644002_106303.png) 我觉得有问题的代码就这些了,希望大佬们指点迷津,如果代码不够我再放全部,万分感谢!!!
java界面布局,在jframe中添加多个jdialog
在jframe中放入多个jdialog,结果如下:![图片说明](https://img-ask.csdn.net/upload/201708/31/1504166567_4408.png)可以做到吗?
我是JAVA菜鸟,想问问关于JAVA中JFrame和JPanel的问题
我现在在做一个画图工具,如何把画的的图形实现拖动,我的想法是在JPanel上再添加一个 JPanel,就是利用图层的原理来实现,就是创建一个Drawline的类继承JPanel来实现在这 JPanel上画直线,然后JFrame上的类已经添加了一个JPanel,然后我把Drawline添加到JPanel 上,然而为什么显示不出已经画的线
新手求助:怎么在JAVA JFrame中添加几张图片
怎么在JAVA JFrame中添加几张图片,添加一张之后再添加的时候就只显示后面那张
java关于JFrame中添加多个JPanel?
如果创建一个JPanel数组,但是每个JPanel都画了一个图形,但是添加到面板容器上,只显示容器最后一个图形,为什么其它都没有显示?
java JFrame的一个问题
现在有2个界面,一个主界面,另一个登录界面,分别是两个类。 我想在主界面点击登录后,出现登录界面,登录成功后返回登录用户的信息,并显示在主界面。 目前的问题是,我不知道该怎么在主界面的类里检测登录界面登录成功了
JAVA怎么在JFrame中实现动画效果
各位大神,本人小白想问下就是现在我有5张图片,然后我想让他在JFrame中显示成动画效果并且不会闪烁要怎么写?![图片说明](http://forum.csdn.net/PointForum/ui/scripts/csdn/Plugin/003/onion/3.gif)
java中的Jframe程序出错
为什么会出现这个错误? Access restriction: The type 'JFrame' is not API (restriction on required library 'C:\Program Files\Java\jre1.8.0_25\lib\rt.jar') 我是个初学者,不是太懂,这个路径是不可以更改的吗? 还有初学最好下哪个版本的eclipse?
Java的死循环里的代码不执行
死循环里的代码不执行,但是在死循环里加个输出就执行,并且线程也没有退出 ``` package shendi.utils; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; import javax.swing.JButton; import javax.swing.JFrame; /** * -问题 代码原封不动运行,two函数里的死循环感觉像是挂了一样 但是线程没有结束 不执行 * -但是在循环内加个输出,函数就没有问题,Why? */ public class Test extends JFrame implements Runnable { private String type; private static int i = 0; public Test() { JButton button = new JButton("i+1"); button.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent e) { i++; System.out.println("two函数的死循环就是不会被执行 + i现在是:"+i); } }); this.add(button); this.setBounds(10, 10,100,100); this.setDefaultCloseOperation(EXIT_ON_CLOSE); this.setVisible(true); new Thread(new Test("1")).start(); new Thread(new Test("2")).start(); } public Test(String type) {this.type = type;} public static void main(String[] args) { new Test(); } private void one() { while (true) { // System.out.println(i); } } private void two() { System.out.println("two被调用了,线程 "); while (true) { if (1 == 2) break; // if (i == 0) System.out.println("i=0 two函数"); if (i > 1) System.out.println("我是活的"); } System.out.println("two挂了"); } public void run() { switch (type) { case "1": one(); break; case "2": two(); break; } } } ```
请问大神们Java里的JPanel.repaint和JFrame.repaint的区别是什么?
Java小白一个,在看headfirst JAVA,书上有一个小的动画代码,是每个几秒画一个圆 然后圆的位置不断变化,书上故意用了JPanel.repaint这个方法,结果产生了运动痕迹, 然后书上提出的解决方法是repaint的时候先画一个大的白色的正方形把原来的圆盖住, 然后才画下一个圆。我实践的时候突发奇想用了JFrame.repaint来代替这个 JPanel.repaint,结果发现不用像书上那样也可以消除运动轨迹。那么问题就来了: JFrame.repaint和JPanel.repaint这两个方法有什么不同呢?为什么一个可以消除痕迹一个不可以呢?JFrame.repaint做动画方面是不是更好呢?或者说什么时候不可以用它呢? 谢谢!
JAVA的线程给Jframe添加键盘监听不同时运行
我想用Java写一个俄罗斯方块,其中有一个线程是关于JFrame的键盘监听实现图形的变形,但是监听一直没有同时进行,咋回事。 ``` public class practice1 { public static void main(String[] args) { // RegisterInterface Tetris = new RegisterInterface("俄罗斯方块"); SnakeDemo t = new SnakeDemo(); } } ``` ``` import java.awt.Canvas; import java.awt.Container; import java.awt.Font; import java.awt.Graphics; import java.awt.Graphics2D; import javax.swing.JFrame; import javax.swing.JLabel; import javax.swing.JTextArea; public class SnakeDemo extends JFrame{ private static final long serialVersionUID = 5671798241966272024L; protected static JFrame game = new JFrame(); protected static Container game1 = game.getContentPane(); private JLabel label1 = new JLabel("分 数:"); private JLabel label2 = new JLabel("所花时间:"); private JLabel label3 = new JLabel("说 明:"); protected static JTextArea explain = new JTextArea("此游戏是一个俄罗斯方块简易版本,实现简单地移动,得分,变形的功能," + "外加上一些显示,计时和音效后。\n" + "游戏界面按左右键实现移动,按ESC重新开始,按空格键可以实现暂停和开始,按Shift变形。"); private Font f = new Font("微软雅黑", Font.PLAIN, 15); protected static boolean a = true; private boolean b = true; protected static int x; protected static int y; protected static int i,u; protected static int s2, s3, s4, s5, s6, s7, s8, s1, p = 0; protected int ran2, l; private Graphics g1; Thread e1 = new shift(); public SnakeDemo() { game.setTitle("俄罗斯方块"); game.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); game.setBounds(400, 10, 700, 800); game.setResizable(false); game1.add(label1); label1.setBounds(500, 260, 85, 20); label1.setFont(f); game1.add(label2); label2.setBounds(500, 290, 85, 20); label2.setFont(f); game1.add(label3); label3.setBounds(500, 320, 85, 20); label3.setFont(f); game1.add(explain); explain.setBounds(500, 350, 160, 200); explain.setLineWrap(true); explain.setEditable(false); explain.setOpaque(false); explain.setFont(f); game1.add(new mycanvas()); game.setVisible(true); game.setFocusable(true); } /* * 在绘制图形时x,y表示的是一个图形左下角的坐标,其中每个小方块的长宽都为20, * polygon绘制图形其中s(int)表示生成图形的x轴坐标,每个图形的y轴坐标由一个y计算得到 这里提供了最简单的方块的生成与变形,及生成一个横向的可以变形为一个纵向的。 */ public class mycanvas extends Canvas { public void paint(Graphics g) { g1 = (Graphics2D) g; int max = 7, min = 1; ran2 = (int) (Math.random() * (max - min) + min); ran2 = 1; background(); //绘制背景 //定义线程shift,shift释放则发生变形 if (ran2 == 1) { //如果ran=1则绘制第一种横向方块 i = 0; s1 = 165; s2 = 245; s3 = 245; s4 = 165; y = 25; e1.start(); //调用线程shift while (a) { //while循环实现图形移动 int x1[] = { s1, s2, s3, s4 }; if (i == 0) { //i=0时为横向状态 int y1[] = { y, y, y - 20, y - 20 }; g1.fillPolygon(x1, y1, 4); } if (i == 1) { //i=1时为变形为竖向的状态 int y1[] = { y, y, y - 80, y - 80 }; g1.fillPolygon(x1, y1, 4); } movement(); //调用descend方法实现图形下移 background(); //再次绘制背景 } } } } public void background() { //绘制背景的方法 for (int x2 = 5; x2 <= 405; x2 += 20) { for (int y2 = 5; y2 <= 705; y2 += 20) { g1.drawRect(x2, y2, 20, 20); } } } public void movement() { //图形下移的方法 System.out.println(i); if (i == 0) { //正常状态下移方法 g1.clearRect(s1, y - 40, 80, 20); } if (i == 1) { //变形后下移方法 if (l == 0) { g1.clearRect(s1 + 20, y - 40, 60, 20); l = 1; } g1.clearRect(s1, y - 100, 20, 20); } if (y <= 705) y += 20; else a = false; } } ``` ```import java.awt.event.KeyEvent; import java.awt.event.KeyListener; public class shift extends Thread { public void run() { SnakeDemo.game.addKeyListener(new KeyListener() { // 对Jframe窗体game添加键盘事件监听 public void keyTyped(KeyEvent e) { } public void keyReleased(KeyEvent e) { int code; code = e.getKeyCode(); switch (code) { case KeyEvent.VK_SHIFT: // 如果当shift键释放时发生如下变化 if (SnakeDemo.y >= 85) { // 判断图形是否有充足的Y轴变形,如果有则有横向状态变为竖向状态 synchronized (this) { SnakeDemo.i = 1; SnakeDemo.s2 = SnakeDemo.s1 + 20; SnakeDemo.s3 = SnakeDemo.s2; SnakeDemo.s4 = SnakeDemo.s1; System.out.println("ghjkbnm,ghjklhjklhjk"); } } code = 0; break; default: throw new IllegalArgumentException("Unexpected value: " + code); } } public void keyPressed(KeyEvent e) { } }); } } ```
关于在JFrame中设置背景图片问题。
在写JAVA小游戏中新建了一个继承JFrame的类,然后重写了paint方法,在里面绘制了一个空白图像用于双缓冲,之后我想设置JFrame的背景图片,或是在其中添加组件都无法显示,如果在paint方法中加super(g)后,才会显示出来,但窗口会不停的闪烁。请问有什么办法可以解决么?
Java题,编写一个JFrame窗口.......救救猫咪.jpg
Java题:编写一个JFrame窗口,要求如下: 窗口包含一个JLabel标签,一个JTextField文本框和一个JButton按钮。界面采用BorderLayout布局管理方式,其中,JLabel放在BorderLayout.CENTER区域,JTextField和JButton放在一个JPanel中,将JPanel放在BorderLayout.SOUTH区域。在文本框中输入任意文字,点击“确定”按钮,输入的内容在JLabel标签中显示,且字体为“华文行楷”,加粗(Font.BOLD),字号为40,字体颜色为Color.RED。JFrame窗口的初始大小为(600,400),显示位置为(200,300),窗口标题为“文本输入
在java JFrame中使用AudioClip播放音乐,调用repaint时音乐会停止,是为什么?
在java JFrame中使用AudioClip播放音乐,调用repaint时音乐会停止,是为什么?
Java学习的正确打开方式
在博主认为,对于入门级学习java的最佳学习方法莫过于视频+博客+书籍+总结,前三者博主将淋漓尽致地挥毫于这篇博客文章中,至于总结在于个人,实际上越到后面你会发现学习的最好方式就是阅读参考官方文档其次就是国内的书籍,博客次之,这又是一个层次了,这里暂时不提后面再谈。博主将为各位入门java保驾护航,各位只管冲鸭!!!上天是公平的,只要不辜负时间,时间自然不会辜负你。 何谓学习?博主所理解的学习,它是一个过程,是一个不断累积、不断沉淀、不断总结、善于传达自己的个人见解以及乐于分享的过程。
程序员必须掌握的核心算法有哪些?
由于我之前一直强调数据结构以及算法学习的重要性,所以就有一些读者经常问我,数据结构与算法应该要学习到哪个程度呢?,说实话,这个问题我不知道要怎么回答你,主要取决于你想学习到哪些程度,不过针对这个问题,我稍微总结一下我学过的算法知识点,以及我觉得值得学习的算法。这些算法与数据结构的学习大多数是零散的,并没有一本把他们全部覆盖的书籍。下面是我觉得值得学习的一些算法以及数据结构,当然,我也会整理一些看过...
前端 | 2. 正则
转载请注明以下: 本文转自清自以敬的博客:https://blog.csdn.net/qq_45791147 文章目录1.转义2.正则表达式初步2.1.匹配字符2.1.1.组成元素2.1.2.基础正则的设计 1.转义 转义的作用: 当某个字符在表达式中具有特殊含义,例如字符串引号中出现了引号,为了可以使用这些字符本身,而不是使用其在表达式中的特殊含义,则需要通过转义符“\”来构建该字符转义...
有哪些让程序员受益终生的建议
从业五年多,辗转两个大厂,出过书,创过业,从技术小白成长为基层管理,联合几个业内大牛回答下这个问题,希望能帮到大家,记得帮我点赞哦。 敲黑板!!!读了这篇文章,你将知道如何才能进大厂,如何实现财务自由,如何在工作中游刃有余,这篇文章很长,但绝对是精品,记得帮我点赞哦!!!! 一腔肺腑之言,能看进去多少,就看你自己了!!! 目录: 在校生篇: 为什么要尽量进大厂? 如何选择语言及方...
大学四年自学走来,这些私藏的实用工具/学习网站我贡献出来了
大学四年,看课本是不可能一直看课本的了,对于学习,特别是自学,善于搜索网上的一些资源来辅助,还是非常有必要的,下面我就把这几年私藏的各种资源,网站贡献出来给你们。主要有:电子书搜索、实用工具、在线视频学习网站、非视频学习网站、软件下载、面试/求职必备网站。 注意:文中提到的所有资源,文末我都给你整理好了,你们只管拿去,如果觉得不错,转发、分享就是最大的支持了。 一、电子书搜索 对于大部分程序员...
linux系列之常用运维命令整理笔录
本博客记录工作中需要的linux运维命令,大学时候开始接触linux,会一些基本操作,可是都没有整理起来,加上是做开发,不做运维,有些命令忘记了,所以现在整理成博客,当然vi,文件操作等就不介绍了,慢慢积累一些其它拓展的命令,博客不定时更新 free -m 其中:m表示兆,也可以用g,注意都要小写 Men:表示物理内存统计 total:表示物理内存总数(total=used+free) use...
比特币原理详解
一、什么是比特币 比特币是一种电子货币,是一种基于密码学的货币,在2008年11月1日由中本聪发表比特币白皮书,文中提出了一种去中心化的电子记账系统,我们平时的电子现金是银行来记账,因为银行的背后是国家信用。去中心化电子记账系统是参与者共同记账。比特币可以防止主权危机、信用风险。其好处不多做赘述,这一层面介绍的文章很多,本文主要从更深层的技术原理角度进行介绍。 二、问题引入 假设现有4个人...
程序员接私活怎样防止做完了不给钱?
首先跟大家说明一点,我们做 IT 类的外包开发,是非标品开发,所以很有可能在开发过程中会有这样那样的需求修改,而这种需求修改很容易造成扯皮,进而影响到费用支付,甚至出现做完了项目收不到钱的情况。 那么,怎么保证自己的薪酬安全呢? 我们在开工前,一定要做好一些证据方面的准备(也就是“讨薪”的理论依据),这其中最重要的就是需求文档和验收标准。一定要让需求方提供这两个文档资料作为开发的基础。之后开发...
网页实现一个简单的音乐播放器(大佬别看。(⊙﹏⊙))
今天闲着无事,就想写点东西。然后听了下歌,就打算写个播放器。 于是乎用h5 audio的加上js简单的播放器完工了。 演示地点演示 html代码如下` music 这个年纪 七月的风 音乐 ` 然后就是css`*{ margin: 0; padding: 0; text-decoration: none; list-...
Python十大装B语法
Python 是一种代表简单思想的语言,其语法相对简单,很容易上手。不过,如果就此小视 Python 语法的精妙和深邃,那就大错特错了。本文精心筛选了最能展现 Python 语法之精妙的十个知识点,并附上详细的实例代码。如能在实战中融会贯通、灵活使用,必将使代码更为精炼、高效,同时也会极大提升代码B格,使之看上去更老练,读起来更优雅。
数据库优化 - SQL优化
以实际SQL入手,带你一步一步走上SQL优化之路!
2019年11月中国大陆编程语言排行榜
2019年11月2日,我统计了某招聘网站,获得有效程序员招聘数据9万条。针对招聘信息,提取编程语言关键字,并统计如下: 编程语言比例 rank pl_ percentage 1 java 33.62% 2 cpp 16.42% 3 c_sharp 12.82% 4 javascript 12.31% 5 python 7.93% 6 go 7.25% 7 p...
通俗易懂地给女朋友讲:线程池的内部原理
餐盘在灯光的照耀下格外晶莹洁白,女朋友拿起红酒杯轻轻地抿了一小口,对我说:“经常听你说线程池,到底线程池到底是个什么原理?”
《奇巧淫技》系列-python!!每天早上八点自动发送天气预报邮件到QQ邮箱
将代码部署服务器,每日早上定时获取到天气数据,并发送到邮箱。 也可以说是一个小型人工智障。 知识可以运用在不同地方,不一定非是天气预报。
经典算法(5)杨辉三角
杨辉三角 是经典算法,这篇博客对它的算法思想进行了讲解,并有完整的代码实现。
腾讯算法面试题:64匹马8个跑道需要多少轮才能选出最快的四匹?
昨天,有网友私信我,说去阿里面试,彻底的被打击到了。问了为什么网上大量使用ThreadLocal的源码都会加上private static?他被难住了,因为他从来都没有考虑过这个问题。无独有偶,今天笔者又发现有网友吐槽了一道腾讯的面试题,我们一起来看看。 腾讯算法面试题:64匹马8个跑道需要多少轮才能选出最快的四匹? 在互联网职场论坛,一名程序员发帖求助到。二面腾讯,其中一个算法题:64匹...
面试官:你连RESTful都不知道我怎么敢要你?
干货,2019 RESTful最贱实践
Docker 从入门到掉坑
Docker 介绍 简单的对docker进行介绍,可以把它理解为一个应用程序执行的容器。但是docker本身和虚拟机还是有较为明显的出入的。我大致归纳了一下,可以总结为以下几点: docker自身也有着很多的优点,关于它的优点,可以总结为以下几项: 安装docker 从 2017 年 3 月开始 docker 在原来的基础上分为两个分支版本: Docker CE 和 Doc...
为啥国人偏爱Mybatis,而老外喜欢Hibernate/JPA呢?
关于SQL和ORM的争论,永远都不会终止,我也一直在思考这个问题。昨天又跟群里的小伙伴进行了一番讨论,感触还是有一些,于是就有了今天这篇文。 声明:本文不会下关于Mybatis和JPA两个持久层框架哪个更好这样的结论。只是摆事实,讲道理,所以,请各位看官勿喷。 一、事件起因 关于Mybatis和JPA孰优孰劣的问题,争论已经很多年了。一直也没有结论,毕竟每个人的喜好和习惯是大不相同的。我也看...
白话阿里巴巴Java开发手册高级篇
不久前,阿里巴巴发布了《阿里巴巴Java开发手册》,总结了阿里巴巴内部实际项目开发过程中开发人员应该遵守的研发流程规范,这些流程规范在一定程度上能够保证最终的项目交付质量,通过在时间中总结模式,并推广给广大开发人员,来避免研发人员在实践中容易犯的错误,确保最终在大规模协作的项目中达成既定目标。 无独有偶,笔者去年在公司里负责升级和制定研发流程、设计模板、设计标准、代码标准等规范,并在实际工作中进行...
SQL-小白最佳入门sql查询一
不要偷偷的查询我的个人资料,即使你再喜欢我,也不要这样,真的不好;
项目中的if else太多了,该怎么重构?
介绍 最近跟着公司的大佬开发了一款IM系统,类似QQ和微信哈,就是聊天软件。我们有一部分业务逻辑是这样的 if (msgType = "文本") { // dosomething } else if(msgType = "图片") { // doshomething } else if(msgType = "视频") { // doshomething } else { // doshom...
Nginx 原理和架构
Nginx 是一个免费的,开源的,高性能的 HTTP 服务器和反向代理,以及 IMAP / POP3 代理服务器。Nginx 以其高性能,稳定性,丰富的功能,简单的配置和低资源消耗而闻名。 Nginx 的整体架构 Nginx 里有一个 master 进程和多个 worker 进程。master 进程并不处理网络请求,主要负责调度工作进程:加载配置、启动工作进程及非停升级。worker 进程负责处...
Python 编程开发 实用经验和技巧
Python是一门很灵活的语言,也有很多实用的方法,有时候实现一个功能可以用多种方法实现,我这里总结了一些常用的方法和技巧,包括小数保留指定位小数、判断变量的数据类型、类方法@classmethod、制表符中文对齐、遍历字典、datetime.timedelta的使用等,会持续更新......
YouTube排名第一的励志英文演讲《Dream(梦想)》
Idon’t know what that dream is that you have, I don't care how disappointing it might have been as you've been working toward that dream,but that dream that you’re holding in your mind, that it’s po...
“狗屁不通文章生成器”登顶GitHub热榜,分分钟写出万字形式主义大作
一、垃圾文字生成器介绍 最近在浏览GitHub的时候,发现了这样一个骨骼清奇的雷人项目,而且热度还特别高。 项目中文名:狗屁不通文章生成器 项目英文名:BullshitGenerator 根据作者的介绍,他是偶尔需要一些中文文字用于GUI开发时测试文本渲染,因此开发了这个废话生成器。但由于生成的废话实在是太过富于哲理,所以最近已经被小伙伴们给玩坏了。 他的文风可能是这样的: 你发现,...
程序员:我终于知道post和get的区别
是一个老生常谈的话题,然而随着不断的学习,对于以前的认识有很多误区,所以还是需要不断地总结的,学而时习之,不亦说乎
《程序人生》系列-这个程序员只用了20行代码就拿了冠军
你知道的越多,你不知道的越多 点赞再看,养成习惯GitHub上已经开源https://github.com/JavaFamily,有一线大厂面试点脑图,欢迎Star和完善 前言 这一期不算《吊打面试官》系列的,所有没前言我直接开始。 絮叨 本来应该是没有这期的,看过我上期的小伙伴应该是知道的嘛,双十一比较忙嘛,要值班又要去帮忙拍摄年会的视频素材,还得搞个程序员一天的Vlog,还要写BU...
程序员把地府后台管理系统做出来了,还有3.0版本!12月7号最新消息:已在开发中有github地址
第一幕:缘起 听说阎王爷要做个生死簿后台管理系统,我们派去了一个程序员…… 996程序员做的梦: 第一场:团队招募 为了应对地府管理危机,阎王打算找“人”开发一套地府后台管理系统,于是就在地府总经办群中发了项目需求。 话说还是中国电信的信号好,地府都是满格,哈哈!!! 经常会有外行朋友问:看某网站做的不错,功能也简单,你帮忙做一下? 而这次,面对这样的需求,这个程序员...
网易云6亿用户音乐推荐算法
网易云音乐是音乐爱好者的集聚地,云音乐推荐系统致力于通过 AI 算法的落地,实现用户千人千面的个性化推荐,为用户带来不一样的听歌体验。 本次分享重点介绍 AI 算法在音乐推荐中的应用实践,以及在算法落地过程中遇到的挑战和解决方案。 将从如下两个部分展开: AI算法在音乐推荐中的应用 音乐场景下的 AI 思考 从 2013 年 4 月正式上线至今,网易云音乐平台持续提供着:乐屏社区、UGC...
相关热词 c# 引用mysql c#动态加载非托管dll c# 两个表数据同步 c# 返回浮点json c# imap 链接状态 c# 漂亮字 c# 上取整 除法 c#substring c#中延时关闭 c#线段拖拉
立即提问