初学java,自己用java写了一个简单的注册登录程序,没报错但有问题,希望能帮忙指点。

import java.util.Scanner;
class Yanzheng{
private String n;
private String p;
public void setNa(String na){
this.n = na;
}
public void setPa(String pa){
this.p = pa;
}
public String getNa(){
return n;
}
public String getPa(){
return p;
}
public boolean fun1(String name,String password){
if(name.equals(getNa()) && password.equals(getPa())){
return true;
}
else{
return false;
}
}
}

class Caozuo{
private String name;
private String password;
public String str;
public void setName(String name){
this.name = name;
}
public void setPassword(String password){
this.password = password;
}
public String getName(){
return name;
}
public String getPassword(){
return password;
}
Yanzheng yz = new Yanzheng();
public String fun2(){
if(yz.fun1(getName(),getPassword())){
str = "欢迎" + name + " 帅哥光临";
}else{
str = "用户名或密码输入错误";
}
return str;
}
public void fun3(){
Scanner in = new Scanner(System.in);
String na = in.next();
String pa = in.next();
Yanzheng yz = new Yanzheng();
yz.setNa(na);
yz.setPa(pa);
}
}

public class ZhuceXitong{
public static void main(String args[]){
System.out.println("开始注册,请输入注册名和密码!");
Scanner in = new Scanner(System.in);
Caozuo cz = new Caozuo();
cz.fun3();
System.out.println("注册成功,请登录!");
System.out.println("请输入用户名和密码!");
String name = in.next();
String password = in.next();
cz.setName(name);
cz.setPassword(password);
System.out.println(cz.fun2());
}
}

5个回答

你错的地方是在fun3方法内,不应该new一个Yanzheng类实例,方法内部new的且未做返回值进行返回的实例是局部的,把这行代码去掉就OK,
另外不太明白为什么你这么写,你操作类和验证类为什么分开呢?验证不一样是一种操作?然后你的用户信息也没做存储啊。下面我做了个实例,
希望能对你有用。

 package com.mdjin;

import java.util.HashMap;
import java.util.Map;
import java.util.Scanner;

    class User{
        private String name;
        private String passWord;
        public String getPassWord() {
            return passWord;
        }
        public void setPassWord(String passWord) {
            this.passWord = passWord;
        }
        public String getName() {
            return name;
        }
        public void setName(String name) {
            this.name = name;
        }
    }

    class Caozuo {

        /**
         * 用户信息应该持久化的,此处用MAP对其进行存储.
         */
        Map<String,User> users = new HashMap<String,User>();

        public boolean zhuceyonghu(String _name,String _passWord){
            System.out.println(_name+_passWord);
            if(users.containsKey(_name)){
                System.out.println("用户名已被使用,请重新注册.");
                return false;
            }
            User user = new User();
            user.setName(_name);
            user.setPassWord(_passWord);
            users.put(_name, user);
            return true;
        }

        public boolean yanzhengyonghu(String _name,String _passWord){
            System.out.println(_name+_passWord);
            if(users.containsKey(_name)){
                User user = users.get(_name);
                if(user.getPassWord()!=null)
                    return _passWord.equals(user.getPassWord());
            }
            return false;
        }
    }

    public class ZhuceXitong2 {
        public static void main(String args[]) {
            System.out.println("开始注册,请输入注册名和密码!");
            Caozuo cz = new Caozuo();
            boolean flag = true;
            Scanner in = new Scanner(System.in);
            while(flag){
                String name = in.next();
                if(name.equals("quit")){
                    System.out.println("系统退出.");
                    return;
                }
                String password = in.next();
                flag = !cz.zhuceyonghu(name, password);
                if(flag){
                    System.out.println("注册失败,请重新输入用户名和密码,或者输入quit退出!");
                }
            }
            System.out.println("注册成功,请输入用户名和密码进行登录!");
            boolean flag2 = true;
            while(flag2){
                String name = in.next();
                if(name.equals("quit")){
                    System.out.println("系统退出.");
                    return;
                }
                String password = in.next();
                flag2 = !cz.yanzhengyonghu(name, password);
                if(flag2){
                    System.out.println("登录失败,请重新输入用户名和密码,或者输入quit退出!");
                }else{
                    System.out.println("欢迎:"+name+"归来.");
                }
            }
        }
}

fangxi01
[故事有你] 懂了,嘿嘿。谢谢大神。
大约 5 年之前 回复

fun3里面,为何又new一个验证,如果要这样写,你可以改一些,将后面你new的赋给第一个yz。而且,将名字变一下嘛,不然怎么区分呢
public void fun3(){
Scanner in = new Scanner(System.in);
String na = in.next();
String pa = in.next();
Yanzheng yz1 = new Yanzheng();
yz1.setNa(na);
yz1.setPa(pa);
this.yz = yz1;
}

fangxi01
[故事有你] 明白了,谢谢大神
大约 5 年之前 回复
  1. 把这个fun3()方法中的Yanzheng yz = new Yanzheng();去掉就可以了。 原因: 你new出来的这个对象为局部的,首先在fun2()方法中就得不到他的对象。并且你在fun2()方法上面都new了个了在fun3()里面就没必要在new了。 new了就又创建个新的。对程序性能有影响。直接用第一个全局的就可以了赋值取值都是他就不会错了

你这个代码注册成功之后是登陆,若登陆信息错误程序就停止了,你可以用switch来完成登陆,当登陆信息错误的时候使用break跳到登陆的代码重新登陆

很抱歉,刚才网络原因提交了3次。非常抱歉

Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
其他相关推荐
Java程序员初学者求教学习方法
我是研一研究生,在教研室以后要干软件,具体就是写驱动。现在上课,业余要学下java,自学过程中遇到了瓶颈,不知道java最好的学习方式,总觉得下不住劲,求有经验的程序员分享你的经历,多谢了!
初学java程序运行异常
第一个文件StaticMain.java public class StaticMain{ public static void main(String[] args){ System.out.println("-------------"); for(String arg:args){ System.out.println(arg); } } } 第二个文件StaticMainRef.java import java.lang.reflect.Method; import java.lang.reflect.InvocationTargetException; public class StaticMainRef{ public static void main(String[] args) throws SecurityException,IllegalArgumentException,NoSuchMethodException,ClassNotFoundException,IllegalAccessException,InvocationTargetException{ StaticMain.main(new String[]{"111","222","333","444"}); startClass("com.cjg.method.StaticMain"); } public static void startClass(String className) throws SecurityException,NoSuchMethodException,ClassNotFoundException,IllegalArgumentException,IllegalAccessException,InvocationTargetException{ Method mainMethod=Class.forName(className).getMethod("main",String[].class); mainMethod.invoke(null,new Object[]{new String[]{"111","222","333","444"}}); mainMethod.invoke(null,(Object)new String[]{"111","222","333","444"}); } } 运行后异常 ![图片说明](https://img-ask.csdn.net/upload/201602/02/1454411878_127028.jpg)
初学Java想用JOptionPane.showMessageDialog写可视化小程序
想用JOptionPane.showMessageDialog进行编译一个可以判断一个数字是否为素数的小程序。求帮助。。
初学java的一个基础问题
import java.awt.Graphics; import javax.swing.JApplet; public class HelloJApplet extends JApplet{ public void paint(Graphics g){ g.drawString("你好,这是一个applet程序",50,20); } } 为什么在Eclipse里面编译不了啊 好像这个JApplet已经过时了?那怎么办啊 课后习题说要在网页中显示打印的内容 。
初学者用Android Studio写java程序出现的错误
弄了好久没明白是为什么,开始学就卡在这个奇怪的地方 ![图片说明](https://img-ask.csdn.net/upload/201702/20/1487580229_543362.png)
从网上下载什么程序合适JAVA初学者
大家好,我是一名自考生,正在学习JAVA语言程序设计.想从网上下载一个练习编程的程序来照着书上的例题做,加深知识的理解.一连下载几个程序都不会用或者没法用(全英文的).有哪位行家知道这方面的相关程序请指点一下:1.在哪个网站有哪些程序合适我们初学者练习使用.2.下载安装时具体要注意什么?.这种问题对于你们来说可能是小事一件.这几天我却被这个拦路虎害惨了。由于工作原因我没有时间去上培训班,只能自学不懂的地方从网上的贴子上捉摸。大家都知道在社会上请教别人问题真的很难.我的QQ是257762342.邮箱huangzhilun@yahoo.com.cn.请赐教,不甚感激!!!.
初学者JAVA编写的程序问题,请帮我看看哪里错了
这个是程序 mport java.io.*; public class shuru{ public static void main(String[] args){ try { InputStreamReader is=new InputStreamReader(System.in); BufferedReader br= new BufferedReader(is); String s; **(1)System.out.print("请输入一行内容(直接回车退出程序):")** while((s=br.readLine())!=null&&s.length()!=0); { System.out.print("你输入的内容为:"+s); System.out.print("请输入一行内容(直接回车退出程序):"); } } catch(IOException e) { e.printStackTrace(); } } } 运行结果:` C:\Documents and Settings\Administrator\桌面>java shuru 请输入一行内容(直接回车退出程序):hello 你输入的内容为:请输入一行内容(直接回车退出程序): 以下是疑问: 1.为什么会变成这样子,我输完hello后打回车空了一行出来,没显示“你输入的内容为:hello”,再按回车变成“你输入的内容为:请输入一行内容(直接回车退出程序):”这样子了? 2.(1)处加粗的这一行为什么放在这里也行,程序执行的时候不是应该先执行try语句块的第一行的语句吗?那不是会变成先要在控制台输入hello,然后才出现“请输入一行内容(直接回车退出程序):”吗?如果是上面那样,岂不是先执行try语句块的第4行,然后才执行1.2行。。。 新人,正在自学中。。。。。。求解
初学java,第一个程序不能运行
![图片说明](https://img-ask.csdn.net/upload/201703/12/1489289520_89406.png) public class Test{ public static void main (String args[]) { System.out.print("这是我的第一个Java Application 程序!"); System.out.println("运行成功了!"); } }
初学java,第一个程序不能编译
![图片说明](https://img-ask.csdn.net/upload/201703/12/1489287542_110221.png) public class Test{ public static void main (String args[]) { System.out.print("这是我的第一个Java Application 程序!"); System.out.println("运行成功了!"); } }
java编写刷屏软件遇到的问题
初学JAVA,遇到了一个问题,就是如何读取其他应用程序文本框中的内容,以及如何向其他应用程序的文本框中写入内容。就比如将鼠标放在QQ的文本框中,我就能用我写的JAVA程序向这个文本框中输入内容。
初学java,看教材上Swing包和awt包章节里的示例程序时,遇到的关于调用对象方法的一点小问题
先上示例程序 java文件1 Example10_8.java public class Example10_8 { public static void main(String[] args) { WindowLiaoning win =new WindowLiaoning(); } } java文件2 WindowLiaoning.java import javax.swing.*; import java.awt.*; public class WindowLiaoning extends JFrame{ JTextField text; DigitDocumnet document; public WindowLiaoning(){ init(); setBounds(100,100,300,200); setVisible(true); setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); } void init(){ text = new JTextField(20); setLayout(new FlowLayout()); document = new DigitDocumnet(); text.setDocument(document); add(text); } } java文件3 DigitDocumnet.java import javax.swing.text.*; public class DigitDocumnet extends PlainDocument{ int count = 1; public void insertString(int offset,String s,AttributeSet a){ char c= s.charAt(0); if(c<='9'&&c>='0'&&count<=8){ try{ super.insertString(offset, s, a); count++; } catch(BadLocationException e){ } } } public void remove(int offset, int length){ try{ super.remove(offset, length); count--; } catch(BadLocationException e){} } } 这个demo包含三个java文件,功能是实现一个只能输入8个数字字符的文本框,这里有个小问题,就是在文本框里进行字符删除时,remove方法会被自动调用执行,这里我不太明白,参数length是如何指定的,书上说length初始化时为1,我们按回车键删除时都是一个字符一个字符删除的,是每删除一个字符调用一次吗,然后在文本框里一直按退格键backspace的话,count--为什么不会把count减到0以下呢?有些概念还不太清晰,望不吝赐教
初学者关于 java.net.ConnectException: Connection refused: connect的问题?
javase初学者一名,在看到head first java的网络联机这一节中遇到了问题。 用eclipse测试该语句时报错: java.net.ConnectException: Connection refused: connect ``` Socket s=new Socket("127.0.0.1",5000); ``` 搜索了一些处理 java.net.ConnectException: Connection refused: connect的方法,大多都是说Tomcat的问题,刚刚接触java不久对这些javaweb的东西一无所知,看了一部分帖子后,我猜测可能是我没有Tomcat的原因,我尝试了下在eclipse上装了server,并且载入了Tomcat,但是启动服务器失败了。![图片说明](https://img-ask.csdn.net/upload/201908/30/1567102922_739107.png) 所以我想问这里的 ``` Socket s=new Socket("127.0.0.1",5000); ``` 到底是什么原因导致了connection refused。是否是因为与网络相关就必须要载入服务器,还是别的原因。《head frist java》并没有说需要载入服务器,Tomcat什么的操作。 以下是错误提示 ![图片说明](https://img-ask.csdn.net/upload/201908/30/1567103184_669305.png) 程序代码 ``` import java.io.*; import java.net.*; public class DailyAdviceClient { public void go () { try { Socket s=new Socket("127.0.0.1",5000); InputStreamReader streamReader=new InputStreamReader(s.getInputStream()); BufferedReader reader=new BufferedReader(streamReader); String advice=reader.readLine(); System.out.println("Today you should "+advice); }catch(IOException ex) { ex.printStackTrace(); } } public static void main(String[] args) { DailyAdviceClient client =new DailyAdviceClient(); client.go(); } } ```
Java求助大神,初学者
如何用Java与mySQL连接,以及如何把Java程序打包。。。。。。。。
Java 简单程序遇到了问题
初学Swing遇到了麻烦。我想设计一个程序,输入你的名字就打出“你好+名字”,否则就打出“你还没告诉我你的名字。”,但是现在一直是“你好”,怎么办? 这是我的代码: package MySwing; import java.awt.event.*; import java.awt.*; import javax.swing.*; public class Myswing { JTextArea text; String str; public static void main(String[] args) { Myswing gui=new Myswing(); gui.go(); } public void go() { JFrame frame=new JFrame("zzsy"); frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); frame.setLocation(800, 300); JPanel panel=new JPanel(); JButton button1=new JButton("确定"); JButton button2=new JButton("退出"); JLabel label=new JLabel("输入你的名字:"); label.setFont(new Font("宋体",Font.BOLD,16));//设置字体 JTextField field=new JTextField(30); field.setText(""); str=field.getText(); text=new JTextArea(); text.setLineWrap(true); JScrollPane scroll=new JScrollPane(text); scroll.setVerticalScrollBarPolicy(ScrollPaneConstants.VERTICAL_SCROLLBAR_ALWAYS); scroll.setHorizontalScrollBarPolicy(ScrollPaneConstants.HORIZONTAL_SCROLLBAR_NEVER); button1.addActionListener(new b1()); panel.setLayout(null); button1.setBounds(50, 300, 100, 50); button2.setBounds(200, 300, 100, 50); label.setBounds(0, 0, 200, 40); field.setBounds(150, 0, 100, 40); text.setBounds(40,50,300,200); panel.add(button1); panel.add(button2); panel.add(label); panel.add(field); panel.add(text); panel.add(scroll); frame.add(panel); frame.setSize(400, 400); frame.setVisible(true); } class b1 implements ActionListener{ public void actionPerformed(ActionEvent e1) { if(str=="") text.append("你还没告诉我你的名字。\n"); else text.append("你好"+str+"! \n"); } } }
java初学者小程序一枚不知哪里出错。
import java.io.*; class PictureCopyTest { public static void main(String[] args)throws IOException { FileInputStream fis=new FileInputStream("01.jpg"); FileOutputStream fos=new FileOutputStream("02.jpg"); char arr[]=new char[1024]; int len=0; while ((len=fis.read(arr))!=-1) { fos.write(arr,0,len); } fis.close(); fos.close(); } } E:\>javac PictureCopyTest.java PictureCopyTest.java:10: 找不到符号 符号: 方法 read(char[]) 位置: 类 java.io.FileInputStream while ((len=fis.read(arr))!=-1) ^ PictureCopyTest.java:12: 找不到符号 符号: 方法 write(char[],int,int) 位置: 类 java.io.FileOutputStream fos.write(arr,0,len); ^ 2 错误 不知道哪里出错了
初学者搞不定Java输入流的关闭
不懂应该在哪设置输入流的关闭,试了几个地方,但接着循环,本来要输入的就直接程序关闭报错。(也就几个地方可以放close(),可总是搞不定) package Week2; import java.util.Scanner; public class homework4_16 { public static void main(String[] args) { String s1 = "Welcome to Java"; String s2 = "Programming is fun"; String s3 = "Welcome to Java"; int i = 1; do { System.out.print("输入字母编号a-v:"); Scanner input = new Scanner(System.in); String ch = input.nextLine(); switch (ch) { case "a": System.out.println(s1 == s2); break; case "b": System.out.println(s2 == s3); break; case "c": System.out.println(s1.equals(s2)); break; case "d": System.out.println(s1.equals(s3)); break; case "e": System.out.println(s1.compareTo(s2)); break; default: continue; } System.out.print("继续请输入1,退出输入0 :"); i=input.nextInt(); while(i!=1&&i!=0) { System.out.print("请输入1或0 :"); i=input.nextInt(); } } while (i == 1); } }
Java编写Windows任务管理器
用Java编写一个类似Windows任务管理器的程序,要求简单(初学者老师要求不大)
Java初学者的痴呆问题,哈哈哈哈哈哈哈哈
今天我遇见一个简单的初中的数学题的问题,求100以内偶数和?首先我想到了怎么来表示偶数,我的脑袋浮出了三种方法,第一种是传统方法,拿一个数除以二是否是整数来判断,这个有点用程序表示出来对于我们初学者还是有点难。第二种是初始一个数是0,然后之后的数的值是初始值一直加二,然后加50次,最后全部加起来,这个还行吧。第三种是取前50个数乘以二,然后全部加起来。
javaweb小项目,在写完登录功能时设置断点查看程序运行状况时得到的结果和直接运行得到的结果不一样???
初学者今天打算自己写一下小项目,写完登录功能后运行了没什么问题。 但是设置断点之后打算一步步看运行过程,发生了诡异的事情,因为之前用断点查看运行过程没出现过这样的事,首先正常启动得到正常的结果,加了断点走却得不到一样的结果。 程序正常运行大概流程就是在login.html填上用户名和密码发送请求给LoginServlet调用service,service调dao执行sql查询是否有这个用户。 事务处理用了动态代理,dao层的实现类也依靠mybatis的动态代理,只写sql语句。 一般我发现问题后都会上网查,但是这个加不加断点影响结果的事情查了一下午都没有找到解决办法,我设置了两个点,34行(断点1)和46行(断点2)。 我发现把 断点1 设置在获取动态代理对象agent(图里第35行代码)那一句代码之前,直走断点1不跳过,那么37行得到的emp对象会是null,也就是找不到这个用户。 明明输入了正确的用户名和密码,而且不走断点直接运行是可以验证通过的。 接下来更诡异的是,我选择走断点的方式,但是我走到断点1的时候,选择跳过断点1,居然得到了emp这个对象,然后验证成功。 这到底咋回事阿???? 下面第一张图是跳过断点1 第二张图是走断点1 ![这是跳过断点1](https://img-ask.csdn.net/upload/201912/04/1575390954_130758.png) ![这是走断点1](https://img-ask.csdn.net/upload/201912/04/1575390974_195779.png) 试了一下跟着断点走到动态代理类的时候报了反射异常InvocationTargetException,应该是动态代理类写错了? ![图片说明](https://img-ask.csdn.net/upload/201912/04/1575436234_560327.png) ``` java.lang.reflect.InvocationTargetException at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.lang.reflect.Method.invoke(Method.java:498) at com.cdx.psms.utils.TransactionInvocationHandler.invoke(TransactionInvocationHandler.java:29) at com.sun.proxy.$Proxy6.login(Unknown Source) at com.cdx.psms.controller.LoginServlet.doPost(LoginServlet.java:41) at javax.servlet.http.HttpServlet.service(HttpServlet.java:660) at javax.servlet.http.HttpServlet.service(HttpServlet.java:741) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:231) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166) at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:53) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166) at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:202) at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:96) at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:526) at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:139) at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:92) at org.apache.catalina.valves.AbstractAccessLogValve.invoke(AbstractAccessLogValve.java:678) at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:74) at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:343) at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:408) at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:66) at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:861) at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1579) at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617) at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61) at java.lang.Thread.run(Thread.java:748) Caused by: org.apache.ibatis.exceptions.PersistenceException: ### Error querying database. Cause: org.apache.ibatis.executor.ExecutorException: Executor was closed. ### Cause: org.apache.ibatis.executor.ExecutorException: Executor was closed. at org.apache.ibatis.exceptions.ExceptionFactory.wrapException(ExceptionFactory.java:30) at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:149) at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:140) at org.apache.ibatis.binding.MapperMethod.executeForMany(MapperMethod.java:147) at org.apache.ibatis.binding.MapperMethod.execute(MapperMethod.java:80) at org.apache.ibatis.binding.MapperProxy.invoke(MapperProxy.java:57) at com.sun.proxy.$Proxy5.login(Unknown Source) at com.cdx.psms.service.EmpServiceImpl.login(EmpServiceImpl.java:17) ... 31 more Caused by: org.apache.ibatis.executor.ExecutorException: Executor was closed. at org.apache.ibatis.executor.BaseExecutor.createCacheKey(BaseExecutor.java:197) at org.apache.ibatis.executor.CachingExecutor.createCacheKey(CachingExecutor.java:146) at org.apache.ibatis.executor.CachingExecutor.query(CachingExecutor.java:82) at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:147) ... 37 more ``` public class EmpServiceImpl implements EmpService { private EmpDao empDao = SqlSessionUtil.getSession().getMapper(EmpDao.class); @Override public Emp login(String username,String password) { Emp emp = new Emp(); emp.setUsername(username); emp.setPassword(password); emp = empDao.login(emp); return emp; } } ``` ```
终于明白阿里百度这样的大公司,为什么面试经常拿ThreadLocal考验求职者了
点击上面↑「爱开发」关注我们每晚10点,捕获技术思考和创业资源洞察什么是ThreadLocalThreadLocal是一个本地线程副本变量工具类,各个线程都拥有一份线程私有的数
win10系统安装教程(U盘PE+UEFI安装)
一、准备工作 u盘,电脑一台,win10原版镜像(msdn官网) 二、下载wepe工具箱  极力推荐微pe(微pe官方下载) 下载64位的win10 pe,使用工具箱制作启动U盘打开软件,   选择安装到U盘(按照操作无需更改) 三、重启进入pe系统   1、关机后,将U盘插入电脑 2、按下电源后,按住F12进入启动项选择(技嘉主板是F12)     选择需要启
程序员必须掌握的核心算法有哪些?
由于我之前一直强调数据结构以及算法学习的重要性,所以就有一些读者经常问我,数据结构与算法应该要学习到哪个程度呢?,说实话,这个问题我不知道要怎么回答你,主要取决于你想学习到哪些程度,不过针对这个问题,我稍微总结一下我学过的算法知识点,以及我觉得值得学习的算法。这些算法与数据结构的学习大多数是零散的,并没有一本把他们全部覆盖的书籍。下面是我觉得值得学习的一些算法以及数据结构,当然,我也会整理一些看过
《奇巧淫技》系列-python!!每天早上八点自动发送天气预报邮件到QQ邮箱
将代码部署服务器,每日早上定时获取到天气数据,并发送到邮箱。 也可以说是一个小人工智障。 思路可以运用在不同地方,主要介绍的是思路。
Nginx 软件层面加强Nginx性能优化的面试问答和解决方案
Nginx 软件层面加强Nginx性能优化的面试问答和解决方案 去年我去爱卡汽车面试PHP,一轮和二轮面的都不错,在三轮面到Nginx的时候很多问题当时不知道怎么回答,确实没有深入学习过,花了一段时间的学习,终于能解答Nginx高性能优化的问题了,10月24号为了获得程序员勋章,发布了半个优化笔记,浏览到了1000+,受到这个鼓舞,我抽时间在仔细整理下关于Nginx性能优化的问题,我们从软件说起。...
【管理系统课程设计】美少女手把手教你后台管理
【文章后台管理系统】URL设计与建模分析+项目源码+运行界面 栏目管理、文章列表、用户管理、角色管理、权限管理模块(文章最后附有源码) 1. 这是一个什么系统? 1.1 学习后台管理系统的原因 随着时代的变迁,现如今各大云服务平台横空出世,市面上有许多如学生信息系统、图书阅读系统、停车场管理系统等的管理系统,而本人家里就有人在用烟草销售系统,直接在网上完成挑选、购买与提交收货点,方便又快捷。 试想,若没有烟草销售系统,本人家人想要购买烟草,还要独自前往药...
11月19日科技资讯|华为明日发布鸿蒙整体战略;京东宣告全面向技术转型;Kotlin 1.3.60 发布
「极客头条」—— 技术人员的新闻圈! CSDN 的读者朋友们早上好哇,「极客头条」来啦,快来看今天都有哪些值得我们技术人关注的重要新闻吧。扫描上方二维码进入 CSDN App 可以收听御姐萌妹 Style 的人工版音频哟。 一分钟速览新闻点! 6G 专家组成员:速率是 5G 的 10 至 100 倍,预计 2030 年商用 雷军:很多人多次劝我放弃WPS,能坚持下来并不是纯粹的商业决定 ...
C语言魔塔游戏
很早就很想写这个,今天终于写完了。 游戏截图: 编译环境: VS2017 游戏需要一些图片,如果有想要的或者对游戏有什么看法的可以加我的QQ 2985486630 讨论,如果暂时没有回应,可以在博客下方留言,到时候我会看到。 下面我来介绍一下游戏的主要功能和实现方式 首先是玩家的定义,使用结构体,这个名字是可以自己改变的 struct gamerole { char n
化繁为简 - 腾讯计费高一致TDXA的实践之路
导语:腾讯计费是孵化于支撑腾讯内部业务千亿级营收的互联网计费平台,在如此庞大的业务体量下,腾讯计费要支撑业务的快速增长,同时还要保证每笔交易不错账。采用最终一致性或离线补...
Python爬虫爬取淘宝,京东商品信息
小编是一个理科生,不善长说一些废话。简单介绍下原理然后直接上代码。 使用的工具(Python+pycharm2019.3+selenium+xpath+chromedriver)其中要使用pycharm也可以私聊我selenium是一个框架可以通过pip下载 pip install selenium -i https://pypi.tuna.tsinghua.edu.cn/simple/ 
Java学习笔记(七十二)—— Cookie
概述 会话技术: 会话:一次会话中包含多次请求和响应 一次会话:浏览器第一次给服务器发送资源请求,会话建立,直到有一方断开为止 功能:在一次会话的范围内的多次请求间,共享数据 方式: 客户端会话技术:Cookie,把数据存储到客户端 服务器端会话技术:Session,把数据存储到服务器端 Cookie 概念:客户端会话技术,将数据存储到客户端 快速入门: 使用步骤: 创建C
阿里程序员写了一个新手都写不出的低级bug,被骂惨了。
这种新手都不会范的错,居然被一个工作好几年的小伙子写出来,差点被当场开除了。
Java工作4年来应聘要16K最后没要,细节如下。。。
前奏: 今天2B哥和大家分享一位前几天面试的一位应聘者,工作4年26岁,统招本科。 以下就是他的简历和面试情况。 基本情况: 专业技能: 1、&nbsp;熟悉Sping了解SpringMVC、SpringBoot、Mybatis等框架、了解SpringCloud微服务 2、&nbsp;熟悉常用项目管理工具:SVN、GIT、MAVEN、Jenkins 3、&nbsp;熟悉Nginx、tomca
2020年,冯唐49岁:我给20、30岁IT职场年轻人的建议
点击“技术领导力”关注∆  每天早上8:30推送 作者| Mr.K   编辑| Emma 来源| 技术领导力(ID:jishulingdaoli) 前天的推文《冯唐:职场人35岁以后,方法论比经验重要》,收到了不少读者的反馈,觉得挺受启发。其实,冯唐写了不少关于职场方面的文章,都挺不错的。可惜大家只记住了“春风十里不如你”、“如何避免成为油腻腻的中年人”等不那么正经的文章。 本文整理了冯
程序员该看的几部电影
##1、骇客帝国(1999) 概念:在线/离线,递归,循环,矩阵等 剧情简介: 不久的将来,网络黑客尼奥对这个看似正常的现实世界产生了怀疑。 他结识了黑客崔妮蒂,并见到了黑客组织的首领墨菲斯。 墨菲斯告诉他,现实世界其实是由一个名叫“母体”的计算机人工智能系统控制,人们就像他们饲养的动物,没有自由和思想,而尼奥就是能够拯救人类的救世主。 可是,救赎之路从来都不会一帆风顺,到底哪里才是真实的世界?
作为一个程序员,CPU的这些硬核知识你必须会!
CPU对每个程序员来说,是个既熟悉又陌生的东西? 如果你只知道CPU是中央处理器的话,那可能对你并没有什么用,那么作为程序员的我们,必须要搞懂的就是CPU这家伙是如何运行的,尤其要搞懂它里面的寄存器是怎么一回事,因为这将让你从底层明白程序的运行机制。 随我一起,来好好认识下CPU这货吧 把CPU掰开来看 对于CPU来说,我们首先就要搞明白它是怎么回事,也就是它的内部构造,当然,CPU那么牛的一个东
@程序员,如何花式构建线程?
作者 |曾建责编 | 郭芮出品 | CSDN(ID:CSDNnews)在项目和业务的开发中,我们难免要经常使用线程来进行业务处理,使用线程可以保证我们的业务在相互处理之间可以保证原子性...
破14亿,Python分析我国存在哪些人口危机!
2020年1月17日,国家统计局发布了2019年国民经济报告,报告中指出我国人口突破14亿。 猪哥的朋友圈被14亿人口刷屏,但是很多人并没有看到我国复杂的人口问题:老龄化、男女比例失衡、生育率下降、人口红利下降等。 今天我们就来分析一下我们国家的人口数据吧! 一、背景 1.人口突破14亿 2020年1月17日,国家统计局发布了 2019年国民经济报告 ,报告中指出:年末中国大陆总人口(包括31个
强烈推荐10本程序员在家读的书
很遗憾,这个鼠年春节注定是刻骨铭心的,新型冠状病毒让每个人的神经都是紧绷的。那些处在武汉的白衣天使们,尤其值得我们的尊敬。而我们这些窝在家里的程序员,能不外出就不外出,就是对社会做出的最大的贡献。 有些读者私下问我,窝了几天,有点颓丧,能否推荐几本书在家里看看。我花了一天的时间,挑选了 10 本我最喜欢的书,你可以挑选感兴趣的来读一读。读书不仅可以平复恐惧的压力,还可以对未来充满希望,毕竟苦难终
Linux自学篇——linux命令英文全称及解释
man: Manual 意思是手册,可以用这个命令查询其他命令的用法。 pwd:Print working directory 显示当前目录 su:Swith user 切换用户,切换到root用户 cd:Change directory 切换目录 ls:List files 列出目录下的文件 ps:Process Status 进程状态 mk
Python实战:抓肺炎疫情实时数据,画2019-nCoV疫情地图
文章目录1. 前言2. 数据下载3. 数据处理4. 数据可视化 1. 前言 今天,群里白垩老师问如何用python画武汉肺炎疫情地图。白垩老师是研究海洋生态与地球生物的学者,国家重点实验室成员,于不惑之年学习python,实为我等学习楷模。先前我并没有关注武汉肺炎的具体数据,也没有画过类似的数据分布图。于是就拿了两个小时,专门研究了一下,遂成此文。 2月6日追记:本文发布后,腾讯的数据源多次变更u
智力题(程序员面试经典)
NO.1  有20瓶药丸,其中19瓶装有1克/粒的药丸,余下一瓶装有1.1克/粒的药丸。给你一台称重精准的天平,怎么找出比较重的那瓶药丸?天平只能用一次。 解法 有时候,严格的限制条件有可能反倒是解题的线索。在这个问题中,限制条件是天平只能用一次。 因为天平只能用一次,我们也得以知道一个有趣的事实:一次必须同时称很多药丸,其实更准确地说,是必须从19瓶拿出药丸进行称重。否则,如果跳过两瓶或更多瓶药
在家远程办公效率低?那你一定要收好这个「在家办公」神器!
相信大家都已经收到国务院延长春节假期的消息,接下来,在家远程办公可能将会持续一段时间。 但是问题来了。远程办公不是人在电脑前就当坐班了,相反,对于沟通效率,文件协作,以及信息安全都有着极高的要求。有着非常多的挑战,比如: 1在异地互相不见面的会议上,如何提高沟通效率? 2文件之间的来往反馈如何做到及时性?如何保证信息安全? 3如何规划安排每天工作,以及如何进行成果验收? ......
作为一个程序员,内存和磁盘的这些事情,你不得不知道啊!!!
截止目前,我已经分享了如下几篇文章: 一个程序在计算机中是如何运行的?超级干货!!! 作为一个程序员,CPU的这些硬核知识你必须会! 作为一个程序员,内存的这些硬核知识你必须懂! 这些知识可以说是我们之前都不太重视的基础知识,可能大家在上大学的时候都学习过了,但是嘞,当时由于老师讲解的没那么有趣,又加上这些知识本身就比较枯燥,所以嘞,大家当初几乎等于没学。 再说啦,学习这些,也看不出来有什么用啊!
2020年的1月,我辞掉了我的第一份工作
其实,这篇文章,我应该早点写的,毕竟现在已经2月份了。不过一些其它原因,或者是我的惰性、还有一些迷茫的念头,让自己迟迟没有试着写一点东西,记录下,或者说是总结下自己前3年的工作上的经历、学习的过程。 我自己知道的,在写自己的博客方面,我的文笔很一般,非技术类的文章不想去写;另外我又是一个还比较热衷于技术的人,而平常复杂一点的东西,如果想写文章写的清楚点,是需要足够...
别低估自己的直觉,也别高估自己的智商
所有群全部吵翻天,朋友圈全部沦陷,公众号疯狂转发。这两周没怎么发原创,只发新闻,可能有人注意到了。我不是懒,是文章写了却没发,因为大家的关注力始终在这次的疫情上面,发了也没人看。当然,我...
Java坑人面试题系列: 包装类(中级难度)
Java Magazine上面有一个专门坑人的面试题系列: https://blogs.oracle.com/javamagazine/quiz-2。 这些问题的设计宗旨,主要是测试面试者对Java语言的了解程度,而不是为了用弯弯绕绕的手段把面试者搞蒙。 如果你看过往期的问题,就会发现每一个都不简单。 这些试题模拟了认证考试中的一些难题。 而 “中级(intermediate)” 和 “高级(ad
Spring Boot 2.x基础教程:使用JdbcTemplate访问MySQL数据库
在第2章节中,我们介绍了如何通过Spring Boot来实现HTTP接口,以及围绕HTTP接口相关的单元测试、文档生成等实用技能。但是,这些内容还不足以帮助我们构建一个动态应用的服务端程序。不论我们是要做App、小程序、还是传统的Web站点,对于用户的信息、相关业务的内容,通常都需要对其进行存储,而不是像第2章节中那样,把用户信息存储在内存中(重启就丢了!)。 对于信息的存储,现在已经有非常非常多...
基于Python的人脸自动戴口罩系统
目录 1、项目背景 2、页面设计 3、器官识别 4、退出系统 1、项目背景 2019年新型冠状病毒感染的肺炎疫情发生以来,牵动人心,举国哀痛,口罩、酒精、消毒液奇货可居。 抢不到口罩,怎么办?作为技术人今天分享如何使用Python实现自动戴口罩系统,来安慰自己,系统效果如下所示: 本系统的实现原理是借助 Dlib模块的Landmark人脸68个关键点检测库轻松识别出人脸五官
这个世界上人真的分三六九等,你信吗?
偶然间,在知乎上看到一个问题 一时间,勾起了我深深的回忆。 以前在厂里打过两次工,做过家教,干过辅导班,做过中介。零下几度的晚上,贴过广告,满脸、满手地长冻疮。 再回首那段岁月,虽然苦,但让我学会了坚持和忍耐。让我明白了,在这个世界上,无论环境多么的恶劣,只要心存希望,星星之火,亦可燎原。 下文是原回答,希望能对你能有所启发。 如果我说,这个世界上人真的分三六九等,...
相关热词 c# 识别回车 c#生成条形码ean13 c#子控制器调用父控制器 c# 写大文件 c# 浏览pdf c#获取桌面图标的句柄 c# list反射 c# 句柄 进程 c# 倒计时 线程 c# 窗体背景色
立即提问