How does a software update work?

I read the Liang Introduction to Java Programming for several weeks, and this question arose when the author said: "Developers do not need to create and install new new versions of software for users."

How does a software update work? For example, patches for games, a new version of products, etc. There is an example in the book that while you keep the class interface the same, you do not need to make any changes to any of the classes depending on the one you changed. This is fine, but still a bit abstract (for example, how to create an update patch with this class only?).

I am also interested in books on this subject.

Thanks.

+5
source share
8 answers

Look at the book

API Practical Design - Signs of the Java Framework Architect (Yaroslav Tulach, Apress, 2008)

I think it covers most of the aspects you ask for.

For a topic regarding the delivery of new software versions or updates, check out Java Web Start technology , for example.

Sending updates to a web application can be considered implicit to users, since changes made on centralized server 1 are delivered by the web browser itself.

1 or a set of servers

+3
source

, , , . java- ​​ . , , . , . . -, , . :

public interface foo {
    public void bar();
}

public class A implements foo {
    public void bar() {
        // some code
    }
}

public class Example {
    public static void main(String[] args) {
        foo aFoo = new A();
        aFoo.bar();
    }
}

Example aFoo foo, . A, foo, bar(). Example aFoo A, bar() A aFoo.bar(), aFoo foo.

, , A. . .class 1.0 . bar() A. , bar(), .class A . A.class .jar ( .jar - .zip ), , A.class. , JVM A.bar(), Example .

, , , . .

+2

, , , . 15 20 jar.

, , jar, jar, , .

, 15 , . 15 - , .

jnlp ( Webstart ) , XML , , . , xml ( -) jar . .

, , , , , , .

0

- , , . . , - / , . , Java.

/ . . . , .

0

JAR ( , DLL) , . - . , , .

0

, , , . , , , - , , , , . , , 1.0.1 1.0.2 , mylib.dll . , 1.0.2 1.0.4 , myotherlib.dll , - (1.0.4), 1.0.1, DLL .

, . , . , .

0

, ... java, ++, .

@echo off
if not exists "file.jar" goto FM
cls
echo [1] Update
echo [2] Exit
set /p "main=1OR2:"

if %main% == 1 goto U
if %main% == 2 exit

:U
cls
echo Updating...
del "file.jar"
wget "http://yourserver.com/file.(EXTENSION)"
if not exists "file.jar" goto FM
cls




:FM
cls
echo You are missing important files!
pause >nul
exit

, java, , "version.bat", , , , , , ltest, !.

. google wget, , , (anything.bat)

0

. http://en.wikipedia.org/wiki/Single_responsibility_principle

In practice, this doesn't seem to work if you don't have something really huge, like Windows, which you can update with slices or a game that uses a lot of textures that don't need to be changed.

-1
source

All Articles